mybatis标签用法
来源:互联网 发布:java基础项目实战 编辑:程序博客网 时间:2024/06/09 20:20
一:Mybatis中的标签
1. if标签的用法
<select id="getGrap" parameterType="Object" resultType="com.jeecg.p3.deadbeat.order.entity.WxActDeadbeatOrderGrab">SELECT *FROM wx_act_deadbeat_order_grabwhere 1=1<if test="debtNo !=null and debtNo!=''">anddebt_no=#{debtNo}</if><if test="graborId !=null and graborId!=''">and grabor_id=#{graborId}</if></select>(注:这种我们可以把所有的属性都加上,然后跟据不同需求使用,比较灵活)
2.where标签的用法
<!-- 查询学生list,like姓名,=性别、=生日、=班级,使用where,参数entity类型 --> <select id="getStudentListWhereEntity" parameterType="StudentEntity" resultMap="studentResultMap"> SELECT * from STUDENT_TBL ST <where> <if test="studentName!=null and studentName!='' "> ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%') </if> <if test="studentSex!= null and studentSex!= '' "> AND ST.STUDENT_SEX = #{studentSex} </if> <if test="studentBirthday!=null"> AND ST.STUDENT_BIRTHDAY = #{studentBirthday} </if> <if test="classEntity!=null and classEntity.classID !=null and classEntity.classID!='' "> AND ST.CLASS_ID = #{classEntity.classID} </if> </where> </select>(注:这种写法和上面的where 1=1的用法一样)
3.set标签用法
<update id="updateStudent" parameterType="StudentEntity"> UPDATE STUDENT_TBL <set> <if test="studentName!=null and studentName!='' "> STUDENT_TBL.STUDENT_NAME = #{studentName}, </if> <if test="studentSex!=null and studentSex!='' "> STUDENT_TBL.STUDENT_SEX = #{studentSex}, </if> <if test="studentBirthday!=null "> STUDENT_TBL.STUDENT_BIRTHDAY = #{studentBirthday}, </if> <if test="classEntity!=null and classEntity.classID!=null and classEntity.classID!='' "> STUDENT_TBL.CLASS_ID = #{classEntity.classID} </if> </set> WHERE STUDENT_TBL.STUDENT_ID = #{studentID}; </update>(注:和if一起使用,在update语句中,如果存在null的字段,数据库就保持不更新)
4.trim的用法
<select id="getStudentListWhere" parameterType="StudentEntity" resultMap="studentResultMap"> SELECT * from STUDENT_TBL ST <trim prefix="WHERE" prefixOverrides="AND|OR"> <if test="studentName!=null and studentName!='' "> ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%') </if> <if test="studentSex!= null and studentSex!= '' "> AND ST.STUDENT_SEX = #{studentSex} </if> </trim> </select>(注:去掉多余的关键字标签,像select中的and或or;update中的,之类的)
5.choose的用法
<select id="getStudentListChooseEntity" parameterType="StudentEntity" resultMap="studentResultMap"> SELECT * from STUDENT_TBL ST <where> <choose> <when test="studentName!=null and studentName!='' "> ST.STUDENT_NAME LIKE CONCAT(CONCAT('%', #{studentName}),'%') </when> <when test="studentSex!= null and studentSex!= '' "> AND ST.STUDENT_SEX = #{studentSex} </when> <when test="studentBirthday!=null"> AND ST.STUDENT_BIRTHDAY = #{studentBirthday} </when> <when test="classEntity!=null and classEntity.classID !=null and classEntity.classID!='' "> AND ST.CLASS_ID = #{classEntity.classID} </when> <otherwise> </otherwise> </choose> </where> </select>(注:当when中有一个成立的话,那么choose就终止;如果when都不成立,就执行otherwise中的语句)
6.foreach的用法(暂时不太了解)
7.全局的动态SQL
<sql id="wherecontation"><trim suffixOverrides="," > <if test="query.isJudgment != null and query.isJudgment != ''" > /* 是否判决 */ AND wado.is_judgment = #{query.isJudgment,jdbcType=VARCHAR} </if> <if test="query.focusNum != null and query.focusNum != ''" > /* 关注人数 */ AND wado.focus_num = #{query.focusNum,jdbcType=INTEGER} </if> <if test="query.getNum != null and query.getNum != ''" > /* 抢单人数 */ AND wado.get_num = #{query.getNum,jdbcType=INTEGER} </if></trim></sql>(注:截取的一部分,其中id定义的是后面需要引入该动态sql的名字;<include refid="wherecontation"/>引入的方式)
阅读全文
0 0
- Mybatis <foreach>标签用法
- mybatis trim标签用法
- mybatis标签用法
- mybatis choose标签的用法
- MyBatis动态SQL标签用法
- Mybatis之trim标签用法
- MyBatis动态SQL标签用法
- MyBatis where标签的用法
- mybatis中sql标签、where标签、foreach标签用法
- mybatis中的CDATA标签的用法
- mybatis中的CDATA标签的用法
- mybatis中的CDATA标签的用法
- mybatis动态SQL标签的用法
- mybatis中的CDATA标签的用法
- mybatis动态SQL标签的用法
- mybatis的foreach标签的用法
- mybatis中的CDATA标签的用法
- Mybatis中的CDATA标签的用法
- TCP服务器端
- 处理多线程高性能并发和高负载问题
- Spring Data JPA
- 线性表和链表的区别
- 性能测试中的并发量概念
- mybatis标签用法
- JAVA Head First 第四章 方法操作实例变量
- svn常用命令
- 任务堆栈
- Storm 0.9.3的新特性
- 配置@aspectj-autoproxy切面,生成代理对象
- java实体转xml
- 邮箱的代理发送Send as权限不生效
- 网易云音乐爬虫