1. 程式人生 > 其它 >建立第一個Mybatis程式

建立第一個Mybatis程式

建立第一個Mybatis程式

1、安裝mysql資料庫,開啟資料庫

2、開啟SQLyog,建立資料庫mybatis

CREATE DATABASE `mybatis`;

3、在資料庫中建立user表

USE `mybatis`;

CREATE TABLE `user`(
 `id` INT(20) NOT NULL PRIMARY KEY,
 `name` VARCHAR(30) DEFAULT NULL,
 `pwd` VARCHAR(30) DEFAULT NULL
)ENGINE=INNODB DEFAULT CHARSET=utf8;

4、向user表中匯入資料

INSERT INTO `user`(`id`,`name`,`pwd`) VALUES 
(1,'狂神','123456'),
(2,'張三','123056'),
(3,'李四','123480')

5、執行當前查詢,並重新整理表,看是否匯入資料成功

6、開啟idea,建立一個普通的maven專案

7、刪除src目錄

8、在pom.xml(mybatis-study)中新增並匯入maven依賴

<!--匯入依賴-->
    <dependencies>
        <!--mysql驅動-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.46</version>
        </dependency>

        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>

        <!--junit-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

9、建立一個模組

  • 編寫mybatis的核心配置檔案

1、進入mybatis3 官方文件,(mybatis – MyBatis 3 | 入門)點選入門,找到XMl配置檔案示例

2、在mybatis-01的resources檔案中建立一個XML檔案

3、將XMl配置檔案示例內容貼上到該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核心配置檔案-->
<configuration>
    <!--environments:多套環境-->
    <!--default="development";預設選擇的環境-->
    <environments default="development">
        <!--id="development":環境名-->
        <environment id="development">
            <!--transactionManager:事務管理,JDBC-->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <!--四個變數-->
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="password" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
</configuration>

4、配置四個變數值

(1)driver值

com.mysql.jdbc.Driver

(2)url值

  • 連線上MySQL資料庫

複製這個url值

jdbc:mysql://localhost:3306

貼上到value

選擇mybatis資料庫

設定安全連線

設定編碼

設定characterEncoding

jdbc:mysql://localhost:3306/mybatis?useSSL=false&useUnicode=true&characterEncoding=UTF-8

(3)使用者名稱

(4)密碼

  • 編寫mybatis工具類

(1)建立一個包

(2)配置檔案

前往mybatis 3 官網文件(mybatis – MyBatis 3 | 入門),點選入門

找到Resources工具類的程式碼

複製貼上到剛才建立的MybatisUtils檔案中

static try catch

改resource路徑為resources目錄下的mybatis-config.xml

獲取SqlSession例項

public class MybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            //使用Mybatis第一步:獲取sqlSessionFactory物件
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    //既然有了 SqlSessionFactory,顧名思義,我們可以從中獲得 SqlSession 的例項
    //SqlSession 提供了在資料庫執行 SQL 命令所需的所有方法。你可以通過 SqlSession 例項來直接執行已對映的 SQL 語句
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }

}

10、編寫程式碼

  • 實體類

Alt+Insert快速新增方法

  • Dao介面

建立UserDao類,操縱實體類的實體

public interface UserDao {
    List<User> getUserList();
}
  • 介面實現類:由原來的UserDaolmpl轉變為一個Mapper配置檔案.

開啟mybatis 3官方文件(mybatis – MyBatis 3 | 入門),找到XML對映語句並複製貼上到該xml檔案

更改名稱空間為UserDao.java 的路徑

建立一個查詢語句

<?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">

<mapper namespace="com.lcbin.dao.UserDao">
    <!--查詢語句-->
    <select id="getUserList" resultType="com.lcbin.pojo.User">
        select * from mybatis.user
    </select>
</mapper>

11、測試

測試哪個包就建那個包

public class UserDaoTest {
    public void test(){

        //第一步:獲得SqlSession物件
        SqlSession sqlSession = MybatisUtils.getSqlSession();

        //方式一:getMapper
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        List<User> userList = userDao.getUserList();

        for (User user : userList) {
            System.out.println(user);
        }

        //關閉SqlSession
        sqlSession.close();
    }
}

因為每一個Mapper.xml都要在Mybatis核心配置檔案中註冊

所以我們還要進入mybatis-config.xml中新增如下程式碼

<mappers>
        <mapper resource="com/lcbin/dao/UserMapper.xml"/>
    </mappers>

進入pom.xml檔案中新增如下程式碼

<build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>

執行UserDaoTest.java