mybatis实现DAO,MapperXML语法
来源:互联网 发布:临漳干部网络管理系统 编辑:程序博客网 时间:2024/05/20 10:20
mybatis实现DAO,MapperXML语法
(1)声明一个sql,可以根据ID嵌入其他sql
<sql id="Base_Column_List" > id, user_id, user_name, password, depart_id, user_creation_time, user_pwd_modif_time, user_status, user_lock, user_pwd_error, user_pwd_error_date, exit_time,password_old, post, email, office_telephone, user_number, id_card, mobile_phone, sex, home_phone,logout,init_pwd_time,sort ,logout_time </sql>
(2)使用include通过Id引用了(1)中声明的sql,另外注意like之后的语法格式like ‘%’||#{userName}||’%’
<select id="selectBySearch" parameterType="java.lang.String" resultMap="BaseResultMap" > select <include refid="Base_Column_List" /> from USER USER where (user_name like '%'||#{userName}||'%' or user_id like '%'||#{userName}||'%') and "user_status" = '0' </select>
(3)使用if标签控制需要传输的参数,如果参数不为null或空,才以此为条件插叙
<select id="selectDepartUser" resultMap="BaseResultMap"> select id, user_id, user_name, depart_id from USER where user_status = '0' <if test="_parameter != null and _parameter !=''" > and depart_id=#{_parameter,jdbcType=VARCHAR} </if> </select>
(4)使用foreach处理一个列表性的参数
<update id="updateLogout" parameterType="com.keyware.kd.repository.entity.user.User"> update USER set logout ='1' where id in <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach> </update>
collection 属性为list或者array的名称
(5)使用了trim标签,给id和user_id用括号包起来,最后一个去掉逗号
prefix : 给包裹的sql语句加上前缀.
suffix : 给包裹的sql语句加上后缀.
prefixOverrides: 如果包裹的sql语句是空语句(经常出现在 if 判断为否的情况下),取消指定的前缀,如where.
suffixOverrides: 如果包裹的sql语句是空语句(经常出现在 if 判断为否的情况下),取消指定的后缀,如and | or. 逗号等
<insert id="insertSelective" parameterType="com.keyware.kd.repository.entity.user.User" > insert into USER USER <trim prefix="(" suffix=")" suffixOverrides="," > <if test="id != null" > id, </if> <if test="userId != null" > user_id, </if> </trim> <trim prefix="values (" suffix=")" suffixOverrides="," > <if test="id != null" > #{id,jdbcType=VARCHAR}, </if> <if test="userId != null" > #{userId,jdbcType=VARCHAR}, </if> </trim> </insert>
(6)大于、小于、等于、模糊查询
and o.create_time <= #{endTime,jdbcType=TIMESTAMP}//小于 and o.create_time >= #{startTime,jdbcType=TIMESTAMP}//大于and i.status_flag <![CDATA[ <> ]]> 'F'//不等于<if test="dutyGroupName != null and dutyGroupName != '' " > AND DUTY_GROUP_NAME like '%'||#{dutyGroupName}||'%' //模糊查询</if>
(7)if里面的字符串比较
<if test="projectStatus != null and projectStatus != '' and projectStatus != '0'.toString()"> and PROJECT_STATUS = #{projectStatus,jdbcType=VARCHAR}</if><if test='projectStatus == "0"'> and PROJECT_STATUS != '0'</if>
阅读全文
0 0
- mybatis实现DAO,MapperXML语法
- mybatis generator自动生成DAO、Bean、MapperXML等文件
- Mybatis(dao)实现举例
- 【mybatis】--mapper代理实现dao
- mybatis整理笔记MapperXML文件1 -- MapperXML文件中的select[文章摘自文档]
- mybatis整理笔记MapperXML文件2 -- MapperXML文件中的insert, update and delete[文章摘自文档]
- mybatis整理笔记MapperXML文件3 -- MapperXML文件中的Parameters[文章摘自文档]
- mybatis整理笔记MapperXML文件4 -- MapperXML文件中的Result Maps[文章摘自文档]
- mybatis整理笔记MapperXML文件5 -- MapperXML文件中的缓存[文章摘自文档]
- mybatis整理笔记MapperXML文件2 -- MapperXML文件中的insert, update and delete
- Mybatis开发原始Dao(即有Dao的实现)
- mybatis和ibatis原始实现DAO
- mybatis的dao接口实现小结
- springmvc 整合mybatis dao层不写实现类
- MyBatis Dao插入数据的实现
- 完美的mybatis通用dao实现
- mybatis中DAO实现(四)
- springmvc+mybatis 无极限树形结构 Mapperxml 映射方法
- 模板的分离编译
- vue input["number"],禁止显示上下箭头,禁止鼠标滚轮事件
- opengl之glscalse
- Spring读书学习笔记(四)——装配Spring Bean
- dom4j
- mybatis实现DAO,MapperXML语法
- 机房收费系统之Environ函数
- Centos7 下Nginx安装图文详解
- Java并发编程:深入剖析ThreadLocal
- python 函数装饰器的典型示例
- 创建一个窗口程序(JFrame),标题栏起名为“浏览器”,有一个菜单条,有“文件”、“编辑”、“查看”3个菜单。“文件”菜单有两个菜单项,一项是“打开”,一项是“保存”,“打开”项做成子菜单,有两个菜
- OpenJ_Bailian
- Java 启动参数
- PAT 1107. Social Clusters (30)