Mybatis动态SQL
来源:互联网 发布:云南大学软件学院导师 编辑:程序博客网 时间:2024/06/05 07:39
可以根据传人的SQL参数不同,生成不同的SQL语句
MyBatis提供了一套标签,用于在XML中动态拼凑SQL语句
select * from emp<if test="xxx">...</if><chose> <when test="xxx">...</when> <when test="xxx">...</when> <otherwise>...</otherwise></choose><foreach></foreach><where><set>
组合查询功能
a.笔记:标题,状态,开始日期,结束日期
根据上述条件,用户可以随意输入信息,按信息搜索
<!-- 组合查询 --> <select id="hightSearch" parameterType="map" resultType="org.tarena.note.entity.Note"> select cn_note_id, cn_note_title, cn_note_create_time from cn_note <where> <if test="title!=null"> cn_note_title like #{title} </if> <if test="status!=null"> and cn_note_status_id = #{status} </if> <if test="beginDate!=null"> and cn_note_create_time >= #{beginDate} </if> <if test="endDate!=null"> and cn_note_create_time <= #{endDate} </if> </where> </select>
b.懂爱更新SQL
笔记标题,创建时间,所属笔记本。ajax将这三值传入
如果3值不为空,则update传入
<!-- 动态更新,将一些不为null的属性更新到数据库 --> <update id="dynamicUpdate" parameterType="org.tarena.note.entity.Note"> update cn_note <set> <if test="cn_notebook_id != null"> cn_notebook_id = #{cn_notebook_id}, </if> <if test="cn_user_id != null"> cn_user_id = #{cn_user_id}, </if> <if test="cn_note_status_id != null"> cn_note_status_id = #{cn_note_status_id}, </if> <if test="cn_note_type_id != null"> cn_note_type_id = #{cn_note_type_id}, </if> <if test="cn_note_title != null"> cn_note_title = #{cn_note_title}, </if> <if test="cn_note_body != null"> cn_note_body = #{cn_note_body}, </if> <if test="cn_note_create_time != null"> cn_note_create_time = #{cn_note_create_time}, </if> <if test="cn_note_last_modify_time != null"> cn_note_last_modify_time = #{cn_note_last_modify_time} </if> </set> where cn_note_id = #{cn_note_id} </update>
c.批量删除
delete from cn_note where cn_note_id = ?
<delete id="deleteNotes"> delete from cn_note where cn_note_id in <foreach collection="array" item="id" open="(" close=")" separator=","> #{id} </foreach> </delete>
0 0
- mybatis动态SQL语句
- MyBatis动态SQL
- MyBatis 动态SQL
- Mybatis 动态SQL
- MyBatis动态SQL
- MyBatis动态SQL完整版
- mybatis动态sql
- mybatis动态SQL语句
- mybatis动态SQL语句
- MyBatis的动态SQL
- MyBatis动态SQL
- MyBatis动态SQL
- MyBatis 动态SQL语句
- MyBatis动态SQL
- Mybatis组建动态SQL
- MyBatis 动态sql
- mybatis 动态SQL语句
- MyBatis动态SQL详解
- 总结 Tarjan的一些应用
- 微信公众号开发中遇到的问题——支付回调,分享,获取openId
- Android数据的四种存储方式
- PHPLog php 程序调试追踪工具
- Java虚拟机学习----垃圾收集算法
- Mybatis动态SQL
- iOS测试系列】instruments工具的使用(一)- 通过leaks分析内存泄露
- extjs4多行选中
- 禁止堆对象
- Android中不能静态注册的广播
- Android N上语言列表
- 01-redis学习第一章
- 代码质量之命名(一)[部分看来的部分自己感悟]
- Http响应案例、Http响应编码问题、Servlet项目编码问题总结图