MyBatis学习(二)全局配置文件概述

全局配置文件

全局配置文件指的就是

MyBatis学习(一)中的mybatis-config.xml

必须实现的两个功能:

  1. 对数据库的配置
  2. 绑定sql映射的文件配置
    在这里插入图片描述
<!-- 注意:每个标签必须按顺序写,不然蛋疼的DTD会提示错误:
The content of element type "configuration" must match
"(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,plugins?,environments?,mappers?)".
 -->

properties属性

在资源目录下新建一个数据库信息的配置文件dbconfig.properties
——数据库驱动为8.0版

jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?&serverTimezone = UTC&useSSL=false
jdbc.username=root
jdbc.password=777777
 <!--利用properties引入数据库连接配置文件-->
    <properties resource="dbconfig.properties"></properties>
 <!--仅引入还不够,还需要读取-->
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <!-- 修改数据源信息           -->
            <dataSource type="POOLED">
                <!--修改连接配置-->
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>

settings设置

settings属性属于configuration属性下

mapUnderscoreToCamelCase参数

作用:是否开启自动驼峰命名规则映射,即从经典数据库列名A_Column到经典Java属性名aColumn的类似映射。默认为false

<configuration>
    <settings>
        <setting name="mapUnderscoreToCamelCase" value="true"/>
    </settings>
</configuration>

当开启自动驼峰命名映射后,对应数据库中表单项的Java类的属性名不必和数据库的列名一致,查询时会自动进行匹配
所以有两种方式可以解决pojo类和数据库表单项的属性名不一致:

  1. 查询的sql语句添加别名
  2. 在全局配置文件中添加settings属性mapUnderscoreToCamelCase参数

typeAliases类型命名

<typeAliases>
        <!--1. 为单个类起别名
          type:类的全路径
        alias:别名,默认为类的首字母小写
        -->
<!--        <typeAlias type="com.mybatis.bean.Employee" alias="emp"></typeAlias>-->
        <!--2. 批量起别名
        name:包名
        别名为类名,大小写都可以,不区分大小写
        同时可以搭配在特定类上添加@Alias("")注解来指定别名,不过这时只能使用指定的注解别名
        -->
        <package name="com.mybatis.bean"/>
    </typeAliases>

mappers映射器

  1. 之前示例工程中是在全局配置文件mybatis-config.xml中使用标签mappers中的mapper resource参数来注册sql映射文件
<!--将sql映射文件注册到全局配置中-->
    <mappers>
        <mapper resource="EmployeeMapper.xml"/>
    </mappers>

然后再sql映射文件配置sql语句

<mapper namespace="com.mybatis.sql.EmployeeMapper">
    <!--名称空间:可以自定义名称
    id:唯一标识
    resultType:查询返回类型,值为表单项对应类的全类名
    #{id}:从传递过来的参数中取出id值
    -->
    <!--1. 查询某个id的表单项-->
    <select id="getEmpById" resultType="emp" >
            select * from tbl_employee where id = #{id}
    </select>
</mapper>
  1. 另一种方式是使用标签mappers中的mapper class参数来绑定sql映射接口
  <mappers>
        <mapper class="com.mybatis.sql.EmployeeMapper"></mapper>
    </mappers>

然后在接口的方法上使用注释来配置sql语句

public interface EmployeeMapper {
    @Select("select * from tbl_employee where id=#{id}")
    public Employee getEmpById(Integer id);
}
  1. 批量注册,使用标签mappers中的package参数批量注册
  2. 比较重要的,复杂的Dao接口用sql映射文件实现;不重要,简单的Dao接口为了开发快速可以使用注解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值