Mybatis環境搭建以及案例 SqlSession物件的方法

然木酥發表於2020-09-26

Mybatis環境搭建兩種方法

  • (1)mybatis下載
    mybaits的程式碼由github.com管理
    下載地址:https://github.com/mybatis/mybatis-3/releases
    (2)匯入jar包
    測試相關的包: junit hamcrest
    日誌相關的包:log4j-1.2.16 slf4-api slf4j-log4j12
    資料庫相關jar包: mysql-connector
    Mybatis先關jar包: mybaits-3.4.5
  • 在配置檔案pom.xml中匯入依賴
<dependencies>
        <!-- junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!-- MySql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>
        <!-- Mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.5</version>
        </dependency>
        <!--日誌包-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

    </dependencies>

Mybatis的操作步驟

  • mybatis開發流程
    1 建立SqlSessionFactoryBuilder物件
    2 建立SqlSessionFactory物件
    3 載入SqlMapConfig.xml配置檔案
    4 建立SqlSession物件
    5 執行SqlSession物件執行刪除
    6 列印結果
    7 釋放資源

Mybatis的入門案例-Java程式碼編寫

  • (1)先獲取Session
  • (2)再進行增刪改查操作
SqlSession sqlSession = MySessionUtils.getSession();
        //select * from user where id =1;
        UserDao dao = sqlSession.getMapper(UserDao.class);//內部就使用你編寫介面來生成代理物件
        //代理物件的方法內部 查詢sql,並且執行jdbc程式碼
        User user = dao.findById(1);
        System.out.println(user);
        //定義介面
        sqlSession.close();
  • 建立session工具包
public class MySessionUtils {
    private static SqlSessionFactory sessionFactory;
    //static 靜態程式碼,在類載入的時候執行一次,且只執行一次
    static{
//  》1 建立SqlSessionFactoryBuilder物件
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// 》2 建立SqlSessionFactory物件
        InputStream inputStream = MySessionUtils.class.getClassLoader().getResourceAsStream("SqlMapConfig.xml");
        sessionFactory = sqlSessionFactoryBuilder.build(inputStream);//載入核心配置檔案 參1 輸入流
//        》3 載入SqlMapConfig.xml配置檔案
    }
    public static SqlSession getSession() {
//        》4 建立SqlSession物件
        SqlSession sqlSession = sessionFactory.openSession();
        return sqlSession;
    }
}

UserDao建立方法

public User findById(int id);

UserDao.xml對映檔案

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<!--
使用代理以後 當前的對映檔案要與介面同名,並且放在同一個位置
使用代理以後 namespace要求寫介面的全類名 包名+類名=全類名
UserDao-->
<mapper namespace="com.wxx.dao.UserDao">
    <!-- 使用代理以後id必須是方法名-->
    <select id="findById" parameterType="int" resultType="com.wxx.bean.User">
        select * from user where id =#{id};
    </select>

</mapper> 
SqlMapConfig.xml配置對映檔案
```xml
    <!-- 配置多個對映檔案-->
    <mappers>
        <mapper resource="UserMapper.xml"/>
        <mapper resource="UserDao.xml"/>
    </mappers>

相關文章