前言:我们要想在Spring Boot环境下使用动态SQL,必须先在application.yml中添加配置
mybatis:
mapper-locations: classpath:mapper/**Mapper.xml
并且新建一个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="com.bite.mybatis.mapper.UserInfoXmlMapper">
</mapper>
namespace这里的路径是我们要实现sql语言接口的路径,xml文件与这个Mapper接口必须相互对应。
完成以上工作后,我们就可以在xml文件中写sql语句了,
我们主要展示动态SQL因此静态的就举一个例子:
上面两张图片分别展示的是在XML和UserInfoXmlMapper这个接口中写的代码可以看到id 对应的是接口中使用这个SQL语句的方法名。
这里是测试代码用例:
通过日志可以观察出我们在XML中写的SQL语句已经被MyBatis识别成正确的SQL语句并且在MySQL数据库中查询到了相对应的结果;
下面展示几种动态SQL的例子:
下面是一个关于查询的动态SQL的代码,对于要用到的参数用了一个对象接收
这里使用了where标签,它的作用是可以把标签内前面第一个and消掉,让我们的SQl语句只执行有内容的部分,下面是演示:
可以从两次打印出来的日志看到,当我们传递的参数个数,类型发生改变时,就会动态的生成不同的SQL语句,提高了代码的可用性。