
XML映射文件
我们要先知道xml是什么:是一种标记语言,就像HTML的"表哥"。
XML映射文件:XML映射文件是连接Java对象和数据库表的"翻译官"。
Q:XML映射文件是干嘛的? A:它是MyBatis的"大脑",告诉MyBatis:
没有它,MyBatis就不知道该如何操作数据库! 它是连接Java世界和SQL世界的桥梁。
规范 XML映射文件的名称与Mapper接口名称一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)XML映射文件的namespace属性为Mapper接口全限定名一致。 XML映射文件中sql语句的id与Mapper接口中的方法名一致,并保持返回类型一致。
操作:
首先在resource文件夹下创建包名与mapper接口一样的文件夹,用/分隔,然后在其中创建xml类,并在其中配置xml约束。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="这里写你的Mapper接口全限定名">
<!-- 你的SQL语句写在这里 -->
</mapper>在xml文件中配置sql语句

Mapper接口

采用注解的方式sql语句是配置在Mapper接口中的,而我们采用xml文件方式是配置在xml类中的。
可以安装MybatisX来提高效率。
使用Mybatis的注解,主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能,建议使用XML来配置映射语句。 官方说明:https://mybatis.net.cn/getting-started.html
随着用户的输入或外部条件的变化而变化的SQL语句,我们称为动态SQL。
<if>:用于判断条件是否成立。使用test属性进行条件判断,如果条件为true,则拼接SQL。

如果多余and 和where时,我们采取两个<where>进行包裹,他会自动删除多余部分,方便。
案例分析
完善更新员工功能,修改为动态更新员工数据信息 需求 动态更新员工信息,如果更新时传递有值,则更新;如果更新时没有传递值,则不更新。 解决方案 动态SQL
<set>:动态地在行首插入SET关键字,并会删掉额外的逗号。(用在update语句中)
collection:遍历的集合
item:遍历出来的元素
separator:分隔符
open:遍历开始前拼接的SQL片段
close:遍历结束后拼接的SQL片段
在mapper.xml中定义接口方法。

在测试类中调用

<sql:定义可重用的SQL片段。 <include>:通过属性refid,指定包含的sql片段。