Idea通過maven創建第一個Mybatis過程

Idea通過maven創建第一個Mybatis過程

有些名詞用錯的話,歡迎指出,我一定虛心請教。

第一步 創建Maven項目並導入相關mybatis的jar
  • 創建maven項目

在這裏插入圖片描述

  • 在pom文件中導入mybatis的相關jar包和junit測試類。
<dependencies>

        <!--mysql-->
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.13</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
        </dependency>
        <!--junit-->
        <!-- https://mvnrepository.com/artifact/junit/junit -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <!--mybatis-->
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>

    </dependencies>

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
            </resource>
        </resources>
    </build>
第二步 搭建Mybatis環境
  • 創建核心配置文件

在resource下面創建mybatis-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="database">

        <environment id="database">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"></property>
                <property name="url"
                          value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC"/>
                <property name="username" value="root"/>
                <property name="password" value="889977"/>
            </dataSource>
        </environment>

    </environments>

    <mappers>
        <!-- resource 綁定mapper,需要使用路徑 -->
        <mapper resource="cn/edu/zut/dao/UserMapper.xml"></mapper>
    </mappers>

</configuration>
  • 創建pojo類User。我用了lombok的jar包。通過註解自動生成相關屬性的get和set方法,以及無參有參構造方法以及其他的一系列的方法。注意要在pom裏面添加相應依賴。

在這裏插入圖片描述

  • 創建UserMapper接口

編寫UserMapper接口,並定義一個addUser方法
在這裏插入圖片描述

  • 編寫UserMapper.xml文件。注意寫完這個UserMapper.xml文件需要在mybatis核心配置文件中註冊一下。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC
        "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<!--  namespace對應你剛剛寫的那個UserMapper接口  -->
<mapper namespace="cn.edu.zut.dao.UserMapper">

    <!--  注意這個id需要和UserMapper接口定義的那個方法名對應 
        參數是User類,必須寫全限定名
    -->
    <insert id="addUser" parameterType="cn.edu.zut.pojo.User">
        insert into mybatis.user values (#{id},#{name},#{pwd})
    </insert>
</mapper>
第三步 編寫測試類
  • 編寫MyTest測試類
package cn.edu.zut.test;

import cn.edu.zut.dao.UserMapper;
import cn.edu.zut.pojo.User;
import lombok.SneakyThrows;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;

import java.io.InputStream;

/**
 * @Classname MyTest
 * @Author jdq8576
 * @Date 2020/1/5 12:38
 **/
public class MyTest {

    @SuppressWarnings("all")
    @SneakyThrows
    @Test
    public void test(){

        String resource = "mybatis-config.xml";

        InputStream inputStream = Resources.getResourceAsStream(resource);

        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        // openSession裏面的true參數代表自動提交事務,mybatis默認不會自動提交事務
        SqlSession sqlSession = sqlSessionFactory.openSession(true);

        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        userMapper.addUser(new User(15,"jdq8576","889977"));

        // 用完記得關閉sqlsession
        sqlSession.close();
    }
}

  • 查看數據庫

在這裏插入圖片描述

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