Mybatis的XML配置文件

一、前言

Mybatis的开发有两种方式:

  1. 注解
  2. XML

使用Mybatis的注解方式,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句,也就是将SQL语句写在XML配置文件中。
事实上,在实际开发中,使用XML开发的情况十分常见。例如在某个多条件查询功能实现中,用户可能会根据id、时间、名字等选项进行条件查询(用户可以只用id一个选项来进行条件查询,也可能多个选项组合进行条件查询),那么这种情况下,使用注解的方式就显得力不从心了,而使用XML来配置映射语句则有得天独厚的优势。那xml具体如何使用呢?

二、XML配置文件规范

在Mybatis中使用XML映射文件方式开发,需要符合一定的规范:

  1. XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)

  2. XML映射文件的namespace属性为Mapper接口全限定名一致

  3. XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。

以下面的项目demo为例,图1中可以看到XML映射文件mapper.xml与Mapper接口是同包同名的,
从图三可以看出XML映射文件的namespace属性为Mapper接口全限定名一致,且其中sql语句的id与Mapper接口中的方法名list()一致,并保持返回类型resultType一致。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

三、XML配置文件实现

第1步:创建XML映射文件
在resource目录下,注意与mapper接口同包同名
第2步:编写XML映射文件

xml映射文件中的dtd约束,直接从mybatis官网复制即可

<?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="">
 
</mapper>

配置1:XML映射文件的namespace属性为Mapper接口全限定名
配置2:XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致

<?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.nju.software.mapper.EmpMapper">
    <!--查询操作-->
    <select id="list" resultType="com.nju.software.pojo.Emp">
        select * from emp
        <where>
            <if test="name!=null">
                and name like concat('%',#{name},'%')
            </if>
            <if test="gender!=null">
                and gender = #{gender}
            </if>
            <if test="begin!=null and end!=null">
                and entrydate between #{begin} and #{end}
            </if>
        </where>
        order by update_time desc
    </select>
</mapper>

四、MybatisX的使用

MybatisX是一款基于IDEA的快速开发Mybatis的插件,为效率而生。
MybatisX的安装:在这里插入图片描述
可以通过MybatisX快速定位,点击代码左边的小鸟即可,这个对于大型项目(接口特别多的情况下)非常有用,亲测简单好用。

五、总结

使用Mybatis的注解,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值