mybatis環境搭建

一、整體框架結構:
在這裏插入圖片描述
二、關鍵詳解:

1、User類:
(1)這是數據庫表的實體類,定義的屬性與表結構的列名一致,如:

public class User implements Serializable {
    private Integer id;
    private String username;
    private String sex;
}

(2)快捷方式添加 getter 和 setter 方法,另外,添加 toString() 方法。

2、IUserDao類:
這是用戶持久層接口,位於 dao 目錄下,dao類都是進行數據操作的類。

public interface IUserDao {
    /**
     * 查詢所有操作
     * @return
     */
    List<User> findAll();
}

3、SqlMapConfig.xml:
(1)在 resources 目錄下創建一個 SqlMapConfig.xml 文件,編寫 mybatis 的主配置文件,config 的配置文件的約束存放在這裏。
(2)config 的約束:

<?xml version="1.0" encoding="UTF-8" ?>
<!--xml文件的約束-->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

(3).xml文件中還需要數據庫連接池,並指定映射配置文件的位置。下面是 .xml 文件的所有程序:

<?xml version="1.0" encoding="UTF-8" ?>
<!--xml文件的約束-->
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
        
<!-- mybatis的主配置文件-->
<configuration>
    <!--配置環境-->
    <environments default="mysql">
        <!--配置mysql環境-->
        <environment id="mysql">
            <!--配置事務的類型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置數據源(連接池)-->
            <dataSource type="POOLED">
           	<!--POOLED是dataSource 的三種屬性之一,將屬性設置成POOLED,
           	mybaties會創建一個數據庫連接池,連接池的一個連接將會被用作數據庫操作。
           	一旦數據庫操作完成,mybaties會將此連接返回給連接池。在開發或測試環境中經常用到此方式-->
                <!--配置連接數據庫的四個基本信息-->
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/數據庫名"/>
                <property name="username" value="用戶名"/>
                <property name="password" value="密碼"/>
            </dataSource>
        </environment>
    </environments>
    
    <!--指定映射配置文件的位置,映射配置文件指的是每個dao獨立的配置文件-->
    <mappers>
        <mapper resource="com/wyj/dao/IUserDao.xml"/>
    </mappers>

</configuration>

4、IUserDao.xml:(java中dao包中接口文件相映射的文件)
(1)mapper 的約束:

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

(2)IUserDao.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">
<mapper namespace="com.wyj.dao.IUserDao">
    <!--配置查詢所有-->
    <!--id是指接口裏的方法,resultType返回封裝的位置,用來告訴mybatis要封裝到哪裏,
    本例中用的是User表,最後返回的結果就封裝在User類中-->
    <select id="findAll" resultType="com.wyj.domain.User">
        select * from user
    </select>

</mapper>

三、注意事項:

1、在 resources 下創建目錄要一個一個地創建,com.wyj.dao此時是三級結構,而在 java 包下,可以一次性創建,比如:直接創建目錄:com.wyj.dao,它是一級目錄;
2、mybatis 的映射配置文件位置必須和 dao 接口的包結構相同;
3、映射配置文件的 mapper 標籤 namespace 屬性的取值必須是 dao 接口的全限定類名;
4、映射配置文件的操作配置(select),id 屬性的取值必須是 dao 接口的方法名。

發佈了81 篇原創文章 · 獲贊 56 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章