新余建网站网易企业邮箱收费版
新余建网站,网易企业邮箱收费版,做外贸哪几个网站好,企业建站工具动态标签
1.用于处理SQL语句中的空白字符和多余的逗号
-- prefix#xff1a;指定在SQL语句开头添加的内容。
-- prefixOverrides#xff1a;指定需要移除的开头部分的内容。
-- suffix#xff1a;指定在SQL语句结尾添加的内容。
-- suffixOverrides#xff1a;指定需要移…动态标签
1.用于处理SQL语句中的空白字符和多余的逗号
-- prefix指定在SQL语句开头添加的内容。
-- prefixOverrides指定需要移除的开头部分的内容。
-- suffix指定在SQL语句结尾添加的内容。
-- suffixOverrides指定需要移除的结尾部分的内容。
select idgetUserList parameterTypemap resultTypeUserSELECT *FROM userstrim prefixWHERE prefixOverridesAND | OR if testname ! nullAND name #{name}/ifif testemail ! nullAND email #{email}/if/trim
/select
2.构建UPDATE语句中的SET
update idupdateUser parameterTypeUserUPDATE userssetif testname ! nullname #{name},/ifif testemail ! nullemail #{email},/ifif testage ! nullage #{age},/if/setWHERE id #{id}
/update3.定义可重用的SQL片段
sql idcolumnsname, age, email
/sqlselect idgetUser parameterTypeint resultTypeUserSELECT include refidcolumns/FROM usersWHERE id #{id}
/selectinsert idinsertUser parameterTypeUserINSERT INTO users (include refidcolumns/)VALUES (#{name}, #{age}, #{email})
/insert-- 动态sql
sql iddynamicWherewhereif testname ! nullAND name #{name}/ifif testage ! nullAND age #{age}/if/where
/sqlselect idgetUser parameterTypeUser resultTypeUserSELECT *FROM usersinclude refiddynamicWhere/
/select -- 终极动态sql idselectColumnsSELECTif testcolumns ! null${columns}/ifif testcolumns null*/ifFROM users
/sqlselect idgetUser parameterTypeUser resultTypeUserinclude refidselectColumns-- 给sql标签传参property namecolumns valueid, name//include
/select
4.用于将表达式计算的结果绑定到变量上。可以在SQL语句中使用这些变量
select idgetUser parameterTypeMap resultTypeUserbind nameminAge value18/SELECT *FROM usersWHERE age gt; #{minAge}
/select-- 动态变量
select idgetUser parameterTypeMap resultTypeUserbind nameminAge value${age 18 ? 18 : age}/SELECT *FROM usersWHERE age gt; #{minAge}
/select5.用于在SQL语句中生成动态的WHERE子句。可以根据条件动态地生成不同的WHERE语句
-- where中会省略开头的语句 例如: 例子中的AND
select idgetUser parameterTypeUser resultTypeUserSELECT *FROM userswhereif testname ! nullAND name #{name}/ifif testage ! nullAND age #{age}/if/where
/select6.
collection指定要遍历的集合或数组参数的名称可以是参数对象的属性名或者是Param注解中指定的名称。
item指定在循环中每次遍历的元素的名称可以在循环中使用该名称获取当前元素。
index指定在循环中每次遍历的索引的名称可以在循环中使用该名称获取当前元素的索引。
open指定循环开始时的拼接字符串默认为空字符串。
close指定循环结束后的拼接字符串默认为空字符串。
separator指定每次遍历元素之间的分隔字符串默认为空字符串。
itemIndex指定index是否可用取值为true或false默认为false。
select idgetUsersByIds parameterTypeList resultTypeUserSELECT * FROM usersWHERE id INforeach collectionids itemid indexindex open( close) separator,#{id}/foreach
/select
-- 生成后sql SELECT * FROM users WHERE id IN (1, 2, 3)insert idbatchInsertUsers parameterTypejava.util.ListINSERT INTO users (name, age) VALUESforeach collectionlist itemuser separator,(#{user.name}, #{user.age})/foreach
/insert
-- 生成后sql
INSERT INTO users (name, age) VALUES
(Alice, 25),
(Bob, 30),
(Charlie, 28)
转义符
小于号需要使用进行转义。大于号需要使用进行转义。和号需要使用进行转义。双引号需要使用进行转义。单引号需要使用进行转义。
Options
Options是MyBatis中的注解之一用于为数据库操作提供一些可选配置选项。
在MyBatis中可以通过在Mapper接口中使用Options注解来配置一些与数据库操作相关的选项例如设置缓存、批量操作、主键生成策略等。
常见的Options注解选项
useCache是否使用二级缓存默认值为true。flushCache执行该操作时是否刷新缓存默认值为false。timeout数据库操作的超时时间单位毫秒。fetchSize每次获取结果集的行数。statementType语句类型可选值为STATEMENT、PREPARED和CALLABLE。keyProperty主键属性名用于指定插入操作后生成的主键值将被设置到哪个实体类属性上。keyColumn主键列名用于指定插入操作后生成的主键值对应的数据库列名。useGeneratedKeys是否使用自动生成的主键默认值为false。
-- 主键回填
Insert(INSERT INTO users(name) VALUES(#{name}))
Options(useGeneratedKeys true, keyProperty id, keyColumn id)
int insertUser(User user);
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91409.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!