mybatis

1.config文件--別名,配置(賬號密碼庫....),Mapper文件位置
2.Dao接口-->方法
3.Mapper文件-->對應(yīng)Dao,<selece>...sql...</select>
4.測試

一、config文件

1.類的別名

<!-- 類的別名 -->
    <typeAliases>
        <typeAlias type="com.model.User" alias="user" />
    </typeAliases>
  • type 屬性:指定需要映射的完整類名,此處是 com.model.User。
  • alias 屬性:定義給該類的別名,此處使用 user 作為別名。

2.對事物的管理和連接池配置

<!-- 對事物的管理和連接池配置 -->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver" />
                <property name="url"
                    value="jdbc:mysql://localhost/test" />
                <property name="username" value="root" />
                <property name="password" value="root" />
            </dataSource>
        </environment>
    </environments>
  1. <property name="driver" value="com.mysql.cj.jdbc.Driver" />:指定 JDBC 驅(qū)動類,用于連接 MySQL 數(shù)據(jù)庫。
  • 如果mysql 8.0以下,則數(shù)據(jù)庫地址為com.mysql.jdbc,Driver
  • 如果mysql 8.0以上,則數(shù)據(jù)庫地址為com.mysql.cj.jdbc,Driver
  1. <property name="url" value="jdbc:mysql://localhost/test" />:定義數(shù)據(jù)庫的連接 URL,這里連接的是本地的 MySQL 數(shù)據(jù)庫及其 test 數(shù)據(jù)庫。
  2. <property name="username" value="root" />:設(shè)置連接數(shù)據(jù)庫的用戶名。
  3. <property name="password" value="root" />:設(shè)置連接數(shù)據(jù)庫的密碼

3.mapper文件的映射路徑

 <!-- mapper文件的映射路徑 -->
    <mappers>
        <mapper resource="UserMapper.xml" />
    </mappers>
  • <mapper resource="UserMapper.xml" />:指定了一個映射器文件,resource 屬性指明了其資源路徑。

二、Dao接口

定義一個公共接口和一個Sex接口

//公共的接口
    //默認(rèn)的6個基本方法
public interface Dao<T> {
//根據(jù)id查詢
    public T findModelById(int id);
//根據(jù)名字查詢
    public T findModelByName(String name);
/*遍歷集合
     * mybatis  的   功能是  由
     * 一個接口     和   一個mapper文件  組成實(shí)現(xiàn)的
     * 返回一個集合   List    這個list集合    只能放在.add(user)
     */
    public List<T> findAll();
//插入數(shù)據(jù)
    public void insertModel(T t);
//更新數(shù)據(jù)
    public void updateModel(T t);
//刪除數(shù)據(jù)
    public void deleteModel(T t);
}

//定義SexDao接口  繼承Dao的六個基本方法
public interface SexDao extends Dao<Sex> {
}

三、mapper文件

在這里,UserMapper.xml(UserDao是一個存在六個基本方法的接口) 是一個 XML 文件,通常包含 SQL 語句和結(jié)果映射,MyBatis 會根據(jù)這個文件來執(zhí)行數(shù)據(jù)庫操作。

<?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文件==>dao層接口-->
<!--  namespace="dao層接口的路徑"  -->
<mapper namespace="com.dao.UserDao">
    <!--  id="方法名字"  resultType="返回值類型"  -->
    <select id="findUserById" resultType="user">
        select * from user where id = #{id}
    </select>
    <!-- 通過名字查找用戶 -->
    <select id="findUserByName" resultType="user">
        SELECT * FROM user WHERE name = #{name}
    </select>
    <insert id="insertUser" parameterType="user">
        insert into user(name,age,sex)values (#{name},#{age},#{sex})
    </insert>
    <update id="updateUser" parameterType="user">
        update user set name=#{name},age=#{age},sex=#{sex} where id = #{id}
    </update>

    <delete id="deleteUser" parameterType="user">
        delete from user where id = #{id}
    </delete>
    <resultMap id="user" type="user">
        <!--        id是告知主鍵,哪個列對應(yīng)哪個類的成員函數(shù)-->
        <!--        property 成員變量 column 列名-->
        <id property ="id" column="id"></id>
        <result property="name" column="name"></result>
        <result property="age" column="age"></result>
    </resultMap>
    <select id="findAll" resultMap="user">
        select * from user
    </select>
</mapper>

注意:

1.mapper文件的映射文件路徑與dao包路徑相同

2.直接使用 User 作為別名,而不需要使用全限定類名

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 環(huán)境說明: jdk 8 + MySQL 5.7.19 maven-3.6.1 IDEA 學(xué)習(xí)前需要掌握: JDBC...
    產(chǎn)品美學(xué)閱讀 158評論 0 0
  • 環(huán)境: JDK1.8 Mysql 5.7 maven 3.6.1 IDEA 回顧: JDBC Mysql Java...
    森小森_閱讀 262評論 1 1
  • mybatis開發(fā)dao兩種方法: 1.原始dao開發(fā)方法(程序需要編寫dao接口和dao實(shí)現(xiàn)類)(掌握)2.My...
    ChloeZzz閱讀 96評論 0 0
  • 1.Mybatis簡介 1.1原始jdbc操作(查詢數(shù)據(jù)) 1.2原始jdbc操作(插入數(shù)據(jù)) 1.3 原始jdb...
    NgNono閱讀 235評論 0 0
  • 非本人總結(jié)的筆記,抄點(diǎn)筆記復(fù)習(xí)復(fù)習(xí)。感謝傳智博客及黑馬程序猿成長 什么是Mybatis ? MyBatis 本...
    鍵盤瞎閱讀 1,340評論 0 4

友情鏈接更多精彩內(nèi)容