Mybait 在Eclipse的配置及對數據庫的簡單操作。

步驟:

開發預備:

eclipse開發環境,下載mybaits.3.5.4.zip,mysql數據庫  數據庫world, 裏面有表user

字段:

user_name password,email

 

1.new Dynamic web project

2.將mybait3.5.4.zip解壓縮,找到lib文件夾,把裏面的東西copy到WEB-INF 的lib文件夾下。把mybaits.3.5.4.jar也拷貝進去

3.java  SRC下面新建幾個包分別對應不同的功能。

cn.mybaits.util  封裝mybaits的配置

cn.mybais.dao 增刪改除的操作

cn.mybaits.entity 封裝實體類

cn.mybaits.test 測試用

總體目錄結構

4.在src下面創建Mybaits.config.xml

主要功能是指定連接數據庫的名稱,密碼,用戶名等

配置信息如下:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE configuration
    PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">

<configuration>


  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC">
      </transactionManager>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/world?serverTimezone=UTC"/>   //world是數據庫名
        <property name="username" value="root"/>
        <property name="password" value="root"/>
        
      </dataSource>
    </environment>
  </environments>

  <mappers>
    <mapper resource="cn/mybaits/dao/user.mapper.xml"/>    //usr.mapper.xml是用戶表user對應的映射信息。數據庫中有表user
  </mappers>

</configuration>

user.mapper.xml的代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"                    //注意裏面配置的是mapper不是config了
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.mybaits.dao.UserDao">
  <select id = "selectUser" resultType="cn.mybaits.entity.User">     //id是方法名,resultType是返回類型
    select * from user where user_name = #{name}
  </select>
  <insert id = "addWorld" parameterType="cn.mybaits.entity.User" useGeneratedKeys="true">
    insert into user(name,password,email)values(#{name},#{password},#{email})
  </insert>
  <delete id = "deleteUser">
    delete from user where id = #{id}
  </delete>
</mapper>

創建實體類User對應數據庫表user:

package cn.mybaits.entity;

public class User {
    private String name;
    private String password;
    private String email;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public User() {
        super();
    }
}

創建工具類Mybaitsutil:

package cn.mybaits.util;

import java.io.IOException;
import java.io.InputStream;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Mybaitsutil {  //配置信息
    public static SqlSessionFactory getSqlSessionFactory() throws IOException {
        String resource = "Mybaits.config.xml";
        InputStream inputstream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputstream);
        return sqlsessionfactory;
    }
    public static SqlSession getSqlSession() throws IOException {
        SqlSessionFactory sessionFactory = getSqlSessionFactory();
        SqlSession session = sessionFactory.openSession();
        return session;
    }

}

 

創建UserDao接口: 

簡單實現兩個功能

package cn.mybaits.dao;

import cn.mybaits.entity.User;

public interface UserDao {

   /**
    * 通過id刪除用戶
    * @param id
    */
void deleteUser(int id);
/**
 * 根據id查詢一條結果集,返回一個實體對象
 * @param uid
 * @return
 */
User selectUser(String name);
}

構建類實現接口:

package cn.mybaits.dao;

import java.io.Console;
import java.io.IOException;

import org.apache.ibatis.session.SqlSession;

import cn.mybaits.entity.User;
import cn.mybaits.util.Mybaitsutil;

public class UserDaoImpl implements UserDao{

    @Override
    public void deleteUser(int id) {
        // TODO Auto-generated method stub
        try(SqlSession sqlSession = Mybaitsutil.getSqlSession()){
            sqlSession.getMapper(UserDao.class).deleteUser(id);
        }catch (RuntimeException e){
            throw e;
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
    }

    @Override
    public User selectUser(String name) {
        // TODO Auto-generated method stub
          try(SqlSession sqlSession = Mybaitsutil.getSqlSession()) {
              User user = sqlSession.getMapper(UserDao.class).selectUser(name);
              System.out.println(name);
              return user;
            }catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
                return null;
            }
    }

}

測試運行用application。

package cn.mybaits.text;

import cn.mybaits.dao.UserDaoImpl;
import cn.mybaits.entity.User;

public class Main {
    public static void main(String args[]) {
        UserDaoImpl handle = new UserDaoImpl();
        User u = handle.selectUser("tide");
        System.out.println(u.getEmail());
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章