情感测试
情感测试

您现在的位置: 情感测试简介_情感测试玩法 > 情感测试分类 > MyBatis动态SQL

MyBatis动态SQL

发布时间:2021-8-16 15:19:37   点击数:
白癜风有什么偏方 http://pf.39.net/bdfyy/zjft/160311/4785537.html

MyBatis令人喜欢的一大特性就是动态SQL。在使用JDBC的过程中,根据条件进行SQL的拼接是很麻烦且很容易出错的。MyBatis动态SQL的出现,解决了这个麻烦。

MyBatis通过OGNL来进行动态SQL的使用的。目前,动态SQL支持以下几种标签:

1数据准备

为了后面的演示,创建了一个Maven项目mybatis-dynamic,创建了对应的数据库和表

DROPTABLEIFEXISTS`student`;

CREATETABLE`student`(

`student_id`int(10)unsignedNOTNULLAUTO_INCREMENTCOMMENT编号,

`name`varchar(20)DEFAULTNULLCOMMENT姓名,

`phone`varchar(20)DEFAULTNULLCOMMENT电话,

`email`varchar(50)DEFAULTNULLCOMMENT邮箱,

`sex`tinyint(4)DEFAULTNULLCOMMENT性别,

`locked`tinyint(4)DEFAULTNULLCOMMENT状态(0:正常,1:锁定),

`gmt_created`datetimeDEFAULTCURRENT_TIMESTAMPCOMMENT存入数据库的时间,

`gmt_modified`datetimeDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT修改的时间,

`delete`int(11)DEFAULTNULL,

PRIMARYKEY(`student_id`)

)ENGINE=InnoDBAUTO_INCREMENT=7DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4__ai_ciCOMMENT=学生表;

对应的项目结构

2if标签

if标签是我们最常使用的。在查询、删除、更新的时候很可能会使用到。必须结合test属性联合使用。

2.1在WHERE条件中使用if标签

这是常见的一种现象,我们在进行按条件查询的时候,可能会有多种情况。

2.1.1查询条件

根据输入的学生信息进行条件检索

当只输入用户名时,使用用户名进行模糊检索;

当只输入性别时,使用性别进行完全匹配

当用户名和性别都存在时,用这两个条件进行查询匹配查询

2.1.2动态SQL

接口函数

/**

*根据输入的学生信息进行条件检索

*1.当只输入用户名时,使用用户名进行模糊检索;

*2.当只输入邮箱时,使用性别进行完全匹配

*3.当用户名和性别都存在时,用这两个条件进行查询匹配的用

*

paramstudent

*

return

*/

ListStudentselectByStudentSelective(Studentstudent);

对应的动态SQL

selectid="selectByStudentSelective"resultMap="BaseResultMap"parameterType="

转载请注明:http://www.zmax-alibaba.com/qgfl/137961.html

网站简介 | 发布优势 | 服务条款 | 隐私保护 | 广告合作 | 合作伙伴 | 版权申明 | 网站地图

当前时间: