mybatis的全局配置文件介绍

  • properties

    • 主要用于加载外部配置文件,比如db.properties

    • 下面数据源配置信息,就可以使用${xxx}替换

  • settings

    • 设置日志

    • 设置下划线转驼峰

  • typeAliases

    • 类型别名,简化映射文件中类型全路径

  • plugins

    • 插件,扩展mybatis功能

    • 原理: 语句执行过程中的某一点进行拦截

    • 实战: PageHelper插件,实现分页

    • 原理是对SQL语句拦截,拼接分页limit语句,以及自动发出select count语句

  • environments

    • 事务管理,目前使用JDBC,后期会交给Spring框架管理

    • 数据源,默认使用mybatis自己连接池技术

    • 可以使用Druid来替换

  • mappers

    • 加载映射文件

    • 推荐使用package方式,一下加载整个包下的映射文件

映射器的 XML 文件就显得相对简单。如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% 的代码。MyBatis 致力于减少使用成本,让用户能更专注于 SQL 代码。

SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出):

  • cache – 该命名空间的缓存配置。

  • cache-ref – 引用其它命名空间的缓存配置。

  • resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素。

  • sql – 可被其它语句引用的可重用语句块。

  • insert – 映射插入语句。

  • update – 映射更新语句。

  • delete – 映射删除语句。

  • select – 映射查询语句。

result map --> 结果映射

结果: sql语句的结果

映射: sql语句的结果和实体类的映射

public class User {

    private int id;
    private String username;
    private String password;
    private String phone;
    private Date createTime;
    private double money;
    private int sex;
   // set get...
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qf.mapper.UserMapper">

    <!--开始手动映射: 将列名和属性名一一对应 -->
    <resultMap id="userResultMap" type="User">
        <!-- id标签,用来映射主键列 -->
        <id column="uid" property="id"/>
        <!-- 其他列,就是使用result标签 -->
        <result column="name" property="username"/>
        <result column="pwd" property="password"/>
        <result column="tel" property="phone"/>
        <!-- 其他列,列名和属性一致,可以不用设置,会自动封装 -->
    </resultMap>

    <!-- 当自动封装失败,就使用手动映射 -->
    <!-- 使用手动映射时,就不在设置resultType,而是设置resultMap指定那个id-->
    <select id="findUserById" resultMap="userResultMap">
        SELECT
            id uid,
            username name,
            password pwd,
            phone tel,
            create_time,
            money,
            sex
        FROM
            tb_user
        WHERE
            id = #{id}
    </select>
</mapper>

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值