myBatis( sql片段,foreache)
2022/4/18 19:12:49
本文主要是介绍myBatis( sql片段,foreache),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
myBatis(sql片段)
//将片段提取出来,命名后,在引用的地方用<include refid=""></include> <sql id="if"> <if test="title != null"> and title =#{title} </if> <if test="author != null"> and author=#{author} </if> </sql> <!--某列的if模糊查询,全部if都会判断--> <select id="QueryBlog" resultType="pojo.Blog" parameterType="map"> select * from myBatis.blog <where> <include refid="if"></include> </where> </select>
注意
- 最好基于单表的操作
- 不要存在where标签,where标签会修改片段符号
foreache
blogMapper.xml
<select id="QueryBogForeach" resultType="pojo.Blog" parameterType="map"> /* select * from myBatis.blog where id in(1 ,2 ,3)*/ select * from myBatis.blog <where> <foreach collection="ids" item="IID" open="id in (" close=")" separator=","> /*这里内容是每一个IID,IID是ids集合的每一项元素,需要往ids集合填充元素*/ #{IID} </foreach> </where> </select>
测试
@org.junit.Test public void QueryBogForeach() { SqlSession sqlSession = myBatisUtils.getSqlSession(); BlogMapper mapper = sqlSession.getMapper(BlogMapper.class); Map<String, Object> map = new HashMap<>(); //创建一个集合填充ids的集合 ArrayList<Integer> IDs = new ArrayList<>(); map.put("ids", IDs); IDs.add(1); List<Blog> blogs = mapper.QueryBogForeach(map); for (Blog blogg : blogs) { System.out.println(blogg); } sqlSession.close(); }
这篇关于myBatis( sql片段,foreache)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升