mybatis处理集合、循环、数组和in查询等语句的使用
2017-02-24 09:25
453 查看
本文转自:点击打开链接
在Mybatis的xml配置中使用集合,主要是用到了foreach动态语句。
foreach的参数:
foreach元素的属性主要有 item,index,collection,open,separator,close。
item表示集合中每一个元素进行迭代时的别名.
index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置.
open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符.
close表示以什么结束。
1. Mybatis生成select * from table where id in(1,2,...,n)语句的查询
我们一般的做法是在方法的参数处指定传入的参数名称,在xml中使用的时候,集合的名称要和方法的Param的名称一致,这样便于阅读和理解,然后是在对应的xml文件中使用foreach循环。
java代码如下:
对应的xml代码如下:
2.Mybatis保存多条记录
我们同样是通过foreach的方法来实现,这里我们巧妙的利用了sql的语法规则用Mybatis的foreach动态语句来处理。
java代码:
xml代码:
以上方法Mybatis会帮我们进行sql注入拦截,Mybatis如果采用#{xxx}的形式设置参数,Mybatis会进行sql注入的过滤。如果采用的是${xxx},Mybatis不会进行sql注入过滤,而是直接将参入的内容输出为sql语句。
判断集合是否有值
感谢您的阅读,希望对您有帮助,本文版权归
#速云优# 所有
在Mybatis的xml配置中使用集合,主要是用到了foreach动态语句。
foreach的参数:
foreach元素的属性主要有 item,index,collection,open,separator,close。
item表示集合中每一个元素进行迭代时的别名.
index指 定一个名字,用于表示在迭代过程中,每次迭代到的位置.
open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔 符.
close表示以什么结束。
1. Mybatis生成select * from table where id in(1,2,...,n)语句的查询
我们一般的做法是在方法的参数处指定传入的参数名称,在xml中使用的时候,集合的名称要和方法的Param的名称一致,这样便于阅读和理解,然后是在对应的xml文件中使用foreach循环。
java代码如下:
public abstract List<Model> findByIds(@Param("ids")List<Integer> ids);
对应的xml代码如下:
select * from table <where> id in <foreach collection="ids" item="item" index="index" open="(" separator="," close=")">#{item}</foreach> </where>
2.Mybatis保存多条记录
我们同样是通过foreach的方法来实现,这里我们巧妙的利用了sql的语法规则用Mybatis的foreach动态语句来处理。
java代码:
public abstract void saves(@Param("tables")List<Model> tables);
xml代码:
insert into table(name,addtime) values <foreach collection="tables" item="item" index="index" separator=","> (#{item.name},#{item.addtime}) </foreach>
以上方法Mybatis会帮我们进行sql注入拦截,Mybatis如果采用#{xxx}的形式设置参数,Mybatis会进行sql注入的过滤。如果采用的是${xxx},Mybatis不会进行sql注入过滤,而是直接将参入的内容输出为sql语句。
判断集合是否有值
<if test="list!=null and list.size()>0"></if>
感谢您的阅读,希望对您有帮助,本文版权归
#速云优# 所有
相关文章推荐
- 在mybatis中处理集合、循环、数组和in查询等语句的使用
- mybatis处理集合、循环、数组和in查询等语句的使用
- mybatis处理集合、循环、数组和in查询等语句的使用
- mybatis处理集合、循环、数组和in查询等语句的使用
- mybatis处理集合、循环、数组和in查询等语句的使用
- mybatis处理集合、循环、数组和in等语句的使用
- mybatis处理集合、循环、数组和in等语句的使用
- mybatis处理集合、循环、数组和in等语句的使用
- mybatis处理集合、循环、数组和in等语句的使用
- mybatis sql in 查询(mybatis sql语句传入参数是list)mybatis中使用in查询时in怎么接收值
- 使用MyBatis对项目中的统计功能进行处理的查询语句优化
- mybatis下oracle查询语句where xxx in(aa,bb)的使用方式
- mybatis处理集合和循环数组问题
- mybatis使用foreach语句实现IN查询
- mybatis foreach in查询语句 关于逗号 空值处理问题
- 【日常笔记】mybatis 处理 in 语句的使用
- mybatis 的 In 查询,子查询 ,集合查询foreach 使用
- mybatis使用in语句作为查询条件
- Mybatis中sql语句中的in查询,一定要判断null的情况
- mybatis中使用in查询时的注意事项