mybatis使用步驟

0.前言

本教程是學習狂神的mybatis視頻後的步驟總結,給新接觸的人做爲參考,之後熟悉後直接看官網文檔。html

mybatis官方地址: https://mybatis.org/mybatis-3/configuration.html#mappersjava

1.建立maven項目

建立maven項目並在根pom.xml配置文件中加入如下依賴(具體版本能夠根據實際狀況變更)mysql

<dependencies>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.46</version>
    </dependency>
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.2</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>
</dependencies>

爲了不出現myhabits找不到資源的現象,在該pom.xml文件中加入如下配置,並刷新mavensql

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

2.寫mybatis配置文件

根據官網的教程拷貝模板,並在其上加入本身的項目的相關配置(如數據庫帳號密碼等),下面url那一行是鏈接數據庫的配置。寫完該配置文件後本例將其保存爲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="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=false&amp;
                    useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="帳號(此處根據狀況寫)"/>
                <property name="password" value="密碼(如上)"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/kikian/dao/userMapper.xml"></mapper>
    </mappers>
</configuration>

3.寫工具類

建立一個子項目並將mybatis的通用代碼封裝成一個工具類(最好用單例模式,將sqlSessionFactory置爲static),該工具類的做用是:讀取剛剛寫好的mybatis-config.xml配置文件獲取SqlSessionFactory對象。mybatis

public class mybatisUtils {
    private static SqlSessionFactory sqlSessionFactory;
    static {
        try {
            String resource = "mybatis-config.xml";
            InputStream inputStream = Resources.getResourceAsStream(resource);
            sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
        }catch (IOException e){
            e.printStackTrace();
        }
    }
    public static SqlSession getSqlSession(){
        return sqlSessionFactory.openSession();
    }
}

4.寫實體類

該實體類要與將從數據庫中讀取的數據要相對應,例如要從數據庫讀取的數據字段爲id name pwd,因此設置的對象也要包含該三個變量。爲了簡約,此處刪去了getter setter toString等代碼。app

public class user {
    private int id;
    private String name;
    private String pwd;
    public user(){
    }
    public user(int id,String name,String pwd){
        setId(id);
        setName(name);
        setPwd(pwd);
    }
}

5.寫接口並實現

public interface userDao {
    List<user> getUserList();
}

public class userDaoImpl implements userDao{
    public List<user> getUserList(){
        return null;
    }
}

6.寫mapper配置文件

將mybatis和java代碼進行映射,創建鏈接。maven

<?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.kikian.dao.userDao">
    <select id="getUserList" resultType="com.kikian.pojo.user">
        select * from mybatis.user
    </select>
</mapper>

namespace:命名空間,映射查詢的關鍵參數,要和接口包名一致。 id:調就是對應的namespace中的方法名。 resultType:sql語句執行的返回值。 parameterType:傳入參數的類型,以下例。工具

<select id="getUserList" parameterType="int" resultType="com.kikian.pojo.user">
        select * from mybatis.user where id = #{id};
    </select>

7.單元測試

寫單元測試代碼,測試項目可否跑通。單元測試

public class userDaoTest {
    @Test
    public void test(){
        SqlSession sqlSession = mybatisUtils.getSqlSession();
        userDao udao = sqlSession.getMapper(userDao.class);
        List<user> userList = udao.getUserList();
        for (user user : userList) {
            System.out.println(user);
        }
        sqlSession.close();
    }
}

8.項目文件結構

相關文章
相關標籤/搜索