MyBatis 配置解析

mybatis-config.xml 配置解析

<!--引入外部配置文件-->
<properties resource="db.properties"/>

这是为了引入外部文件,这边是为下面的property注入数据。

<settings>
        <!--标准的日志工厂实现-->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

这是配置控制台日志输出,这里使用的是标准日志输出格式。

<!--可以给实体类起别名-->
 <typeAliases>
     <typeAlias type="com.hudu.pojo.Student" alias="Student"/>
     <typeAlias type="com.hudu.pojo.Teacher" alias="Teacher"/>
      <!--扫描实体类的包,它的默认别名就为这个类的类名,实体类比较多用package扫描-->
     <!--<package name="com.com.test.pojo"/>-->
 </typeAliases>

这是给实体类起别名,便于在对应的Mapper.xml文件编写时指定对象类型。

<environments default="development">
        <environment id="development">
            <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>

这是环境配置,defalut表示使用哪个环境,可以配置多个环境。transactionManager type 表示使用上面方式连接数据库。dataSource type 表示是否使用连接池。driver、url、username、username分别表示使用的是数据库连接驱动、数据库连接地址、数据库用户名、数据库用户密码。

<mappers>
        <!--通过resource方法定位StudentMapper.xml文件-->
        <mapper resource="com/hudu/dao/TeacherMapper.xml"/>
        <mapper resource="com/hudu/dao/StudentMapper.xml"/>

        <!--通过类定位-->
        <!-- <mapper class="com.hudu.dao.TeacherMapper"/>-->
        <!-- <mapper class="com.hudu.dao.StudentMapper"/>-->

        <!--通过包扫描-->
        <!-- <package name="com.hudu.dao"/>-->
    </mappers>

解释如上,其它具体配置用法看官方文档

接口对应的 XML 配置文件解释

<?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">
<mapper namespace="com.hudu.dao.StudentMapper">
    <select id="getStudents" resultType="Student">
        select * from student
    </select>

    <delete id="deleteStudent" parameterType="_int">
        delete from student where id = #{sid}
    </delete>

    <insert id="addStudent" parameterType="Student">
        insert into student(id,name,tid) values (#{id},#{name},#{tid})
    </insert>

    <update id="updateStudent" parameterType="Student">
        update student set name = #{name},tid = #{tid} where id = #{id}
    </update>
</mapper>

其中namespace表示绑定的接口,select、delete 等表示 sql 中的操作,id 绑定的接口中定义的方法,parameterType 表示方法中的参数类型,resultType 表示返回值的类型。

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!