MyBatis动态拼接SQL

通过使用MyBatis提供的标签方法可以实现动态SQL拼接

1if标签

MyBatis动态拼接SQL_第1张图片

这里代表select * from t_user

以上sql语句表示,如果money不为空或者money不是空字符串并且大于1000输出结果,否则输出查询所有

2where标签

where标签的作用是可以自动处理掉第一个and(可以参考if标ids为QueryVO对象的属性,属性的类型为List。foreach标签签 

MyBatis动态拼接SQL_第2张图片

3foreach标签通过POJO传递List集合

MyBatis动态拼接SQL_第3张图片

MyBatis动态拼接SQL_第4张图片

 这里foreach相当于字符串拼接,但是不同的是open代表开始,item为里面放的内容,separaton代表以什么东西来分隔,close代表关闭

 

 4sql标签

MyBatis动态拼接SQL_第5张图片

MyBatis动态拼接SQL_第6张图片

将sql语句中放入标签中,可以除去繁琐的代码过程,下面可以调用 

5sql查询标签封装resultType(实体类路径)

MyBatis动态拼接SQL_第7张图片

 将相关配置放入application.yml文件中加入

type-aliases-package: demo.entity

后面黄色方框内容为路径,对应为实体类第一行package 

MyBatis动态拼接SQL_第8张图片

这样 resultType(实体类路径)就只写类名就行

MyBatis动态拼接SQL_第9张图片

如图所示 

你可能感兴趣的:(Spring,MyBatis,mybatis,sql,数据库)