Mybatis XML映射文件


XML映射文件

概念:xml映射文件也是用来完成SQL的语句操作的。

一、如何使用XML映射

1、使用规范:

1、XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口防止在相同的包下(同包同名)。
2、XML映射文件的namespace属性与Mapper接口全限定名一致。
3、XML映射文件中sql语句的id不要Mapper几口中的方法名一致,并保持返回类型一致。

2、创建XML映射文件及使用步骤

①、创建XML映射文件,并且复合使用规范一:

在这里插入图片描述

②、在XML文件中写入固定的约束

约束代码:

<?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">

在这里插入图片描述

此约束可以在sql中文网中的入门页面中找到,官网地址:https://mybatis.p2hp.com/getting-started.html
在这里插入图片描述

③、创建Mapper方法

④、使用XML映射文件去写入sql语句

在写入sql语句之前需要使用创建两个标签:mapper、select,并给这两个的几个属性赋值。

标签(mapper和select)使用前所需要配置的属性(namespace 和 id、resultType)

mapper:
namespace:此属性是mapper标签的属性,需要给他指定Mapper映射接口的地址
select:
id:此属性是select标签的属性,需要给他指定的一个方法(在上面我们所设定的接口方法)
resultType:此属性是select标签的属性,需要给他返回结果的类型,这里可以写我们创建表的实体类
当创建完成这两个标签的配置之后就可以子啊select标签中直接写入sql中的select语句了。

代码如下:

<!--写入约束-->
<?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">

<!--写入sql语句-->
<mapper namespace="com.chyb.test2.Mapper.EmpMapper">
    <select id="ifXmlSelectEmp" resultType="com.chyb.test2.pojo.Emp">
        select * from emp where gender = #{gender} and entrydate between #{start} and #{end}
        and name like(concat('%',#{name},'%')) order by update_time desc
    </select>
</mapper>

xml映射文件中不止select这一条sql语句可以用,这里我就只使用了select标签去查询,大家也可以使用其他的标签来去完成其余的sql语句列如(delecte、insert、update标签…)

⑤使用Test测试代码调用方法

    //    Xml查询
    @Test
    public void testXmlSelectEmp(){
        List listEmp = userMapper.ifXmlSelectEmp((short) 1,LocalDate.of(2010,01,01),LocalDate.of(2020,01,01),"张");
        listEmp.stream().forEach(emp ->{
            System.out.println(emp);
        });
    }

测试代码运行结果如下:
在这里插入图片描述

二、MybatisX插件

在使用xml映射文件时我们可以下载一个名叫MybatisX的插件来去方便我们写xml语句
在这里插入图片描述

三、XML映射文件 VS Java注解:

学到这里肯定会有疑问,我们有Java注解为什么还要学XML映射文件,那肯定是各有所长各有所短,这里可以去Mybatis中的官网得到答案:
在这里插入图片描述
所以当sql与语句简单的时候,我们更倾向于写java注解,而当sql语句过于复杂的时候,我们更倾向于xml映射文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值