MyBatis中XML 映射配置文件的简单介绍
官网写的比较具体,可以查看以下的网站:
http://www.mybatis.org/mybatis-3/zh/configuration.html
另外,实际用到标准的CRUD的操作和查询列表,
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iteye.tom.dao.AuthItemRecordDao">
<sql id="requestAllFields">
<![CDATA[
id,
record_time AS recordTime,
source_code AS sourceCode,
userid,
auth_item_id AS authItemId,
isvalid,
last_status_time AS lastStatusTime
]]>
</sql>
<sql id="whereClause">
<where>
<if test="null!=id">AND id = #{id}</if>
<if test="null!=sourceCode and ''!=sourceCode">AND source_code = #{sourceCode}</if>
<if test="null!=userid and ''!=userid">AND userid = #{userid}</if>
<if test="null!=authItemId and ''!=authItemId">AND auth_item_id = #{authItemId}</if>
<if test="null!=isvalid and ''!=isvalid">AND isvalid = #{isvalid}</if>
<include refid="extendedWhereClause" />
</where>
</sql>
<insert id="add" useGeneratedKeys="true" parameterType="com.iteye.tom.bean.AuthItemRecord" keyProperty="id">
INSERT INTO tab_auth_item_record
<trim prefix="(" suffix=")" prefixOverrides=",">
<if test="null!=recordTime">,record_time</if>
<if test="null!=sourceCode and ''!=sourceCode">,source_code</if>
<if test="null!=userid and ''!=userid">,userid</if>
<if test="null!=authItemId and ''!=authItemId">,auth_item_id</if>
<if test="null!=isvalid and ''!=isvalid">,isvalid</if>
<if test="null!=lastStatusTime">,last_status_time</if>
</trim>
VALUES
<trim prefix="(" suffix=")" prefixOverrides=",">
<if test="null!=recordTime">,#{recordTime}</if>
<if test="null!=sourceCode and ''!=sourceCode">,#{sourceCode}</if>
<if test="null!=userid and ''!=userid">,#{userid}</if>
<if test="null!=authItemId and ''!=authItemId">,#{authItemId}</if>
<if test="null!=isvalid and ''!=isvalid">,#{isvalid}</if>
<if test="null!=lastStatusTime">,#{lastStatusTime}</if>
</trim>
</insert>
<update id="update" parameterType="com.iteye.tom.bean.AuthItemRecord">
UPDATE tab_auth_item_record
<trim prefix="SET" prefixOverrides=",">
<if test="null!=recordTime">,record_time = #{recordTime}</if>
<if test="null!=sourceCode and ''!=sourceCode">,source_code = #{sourceCode}</if>
<if test="null!=userid and ''!=userid">,userid = #{userid}</if>
<if test="null!=authItemId and ''!=authItemId">,auth_item_id = #{authItemId}</if>
<if test="null!=isvalid and ''!=isvalid">,isvalid = #{isvalid}</if>
<if test="null!=lastStatusTime">,last_status_time = #{lastStatusTime}</if>
<include refid="extendedUpdateSql" />
</trim>
WHERE id = #{id}
</update>
<select id="query" parameterType="com.iteye.tom.bean.AuthItemRecord" resultType="com.iteye.tom.bean.AuthItemRecord">
SELECT <include refid="requestAllFields"/> FROM tab_auth_item_record
<include refid="whereClause" />
<include refid="extendedOrderByClause" />
<if test="null!=requestOffset">
LIMIT #{requestOffset}, #{requestCount}
</if>
</select>
<select id="get" parameterType="com.iteye.tom.bean.AuthItemRecord" resultType="com.iteye.tom.bean.AuthItemRecord">
SELECT <include refid="requestAllFields"/> FROM tab_auth_item_record
<include refid="whereClause" />
LIMIT 1
</select>
<select id="getById" parameterType="long" resultType="com.iteye.tom.bean.AuthItemRecord">
SELECT <include refid="requestAllFields"/> FROM tab_auth_item_record WHERE id = #{id}
</select>
<select id="count" parameterType="com.iteye.tom.bean.AuthItemRecord" resultType="int">
SELECT COUNT(1) FROM tab_auth_item_record <include refid="whereClause" />
</select>
<delete id="deleteByUserid" parameterType="com.iteye.tom.bean.AuthItemRecord" >
DELETE FROM tab_auth_item_record WHERE userid = #{userid} </delete>
<!-- 扩展的更新等语句(自定义)-->
<sql id="extendedUpdateSql">
<if test="null!=extendedParameter">
</if>
</sql>
<!-- 扩展的条件过滤语句(自定义)-->
<sql id="extendedWhereClause">
<if test="null!=extendedParameter">
</if>
</sql>
<!-- 扩展的排序等语句(自定义)-->
<sql id="extendedOrderByClause">
<if test="null!=extendedParameter">
</if>
</sql>
</mapper>
MyBatis中XML 映射配置文件的简单介绍的更多相关文章
- Mybatis学习--XML映射配置文件
学习笔记,选自Mybatis官方中文文档:http://www.mybatis.org/mybatis-3/zh/configuration.html MyBatis 的配置文件包含了影响 MyBat ...
- mybatis学习(一)-------XML 映射配置文件详解
XML 映射配置文件 MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配 ...
- MyBatis官方文档——XML 映射配置文件
XML 映射配置文件 MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配置 ...
- Java数据持久层框架 MyBatis之API学习三(XML 映射配置文件)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- 【mybatis xml】数据层框架应用--Mybatis 基于XML映射文件实现数据的CRUD
使用MyBatis框架进行持久层开发 MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索. MyBa ...
- XML映射配置文件
XML映射配置文件 http://www.mybatis.org/mybatis-3/configuration.html Type Handlers 类型处理器 每当MyBatis在Prepared ...
- Mybatis中输出映射resultType与resultMap的区别
Mybatis中输出映射resultType与resultMap的区别 (原文地址:http://blog.csdn.net/acmman/article/details/46509375) 一.re ...
- Mybatis特殊字符处理,Mybatis中xml文件特殊字符的处理
Mybatis特殊字符处理,Mybatis中xml文件特殊字符的处理 >>>>>>>>>>>>>>>>& ...
- Mybatis XML 映射配置文件 -- 熟悉配置
来源:http://www.mybatis.org/mybatis-3/zh/configuration.html properties mybatis读取属性顺序. 如果属性在不只一个地方进行了配置 ...
随机推荐
- 03.Linux-CentOS系统user用户改密码问题
问题:[user@localhost ~]$ passwdChanging password for user user.Changing password for user.(current) UN ...
- vue,一路走来(13)--vue微信分享
vue微信分享 今天记录一下vue微信分享. 1.先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”.这个不多说,见文档,只有绑定了才能进行下一步的动作 2.需要引入js文件 ...
- ltp-ddt realtime_cpu_load timeout
# @name Worstcase Latency with cpu load by using cyclictest# @desc Measure latency under cpu load by ...
- LOJ6435 PKUSC2018 星际穿越
这个题吧当时在考场只得了45分 然后70分的性质都分析到了 不知道为啥就是写萎蛋了 哎 当时还是too young too simple 看了一下julao们的博客这个题有两种做法 一个是比较费脑子的 ...
- Sublime Text 快捷键汇总
1. 常用快捷键 Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)Ctrl+G 跳转到相应的行Ctrl+J 合并行(已选择需要合并的多行时)Ctrl+L 选择整行 ...
- 零基础python教程-Python解释器是什么?
当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件. 由于整个Python语言从规范到解释器都是开源的 ...
- Linux 统计文件夹下文件个数及目录个数
1. 统计文件夹下文件的个数 ls -l | grep "^-" | wc -l 2.统计文件夹下目录的个数 ls -l | grep "^d" | wc -l ...
- SimpleDateFormat线程不安全原因及解决方案
一. 线程不安全验证: /** * SimpleDateFormat线程安全测试 * 〈功能详细描述〉 * * @author 17090889 * @see [相关类/方法](可选) * @sinc ...
- Android工作两年之后的第一个App--天真无谐
一.前言 好长时间没写blog了,主要还是工作上的事有点多,周末又得在家开发自己的app,所以时间真的不够用了,当然今天这篇文章主要就要说一下,工作两年的我如何从产品角度去做一个app,以及app的发 ...
- Win7系统取消登录界面的两种方法(图文)
windows7系统设置电脑密码后,即使取消密码,也会出现登录界面 ,每次都要点击用户图标才能进入系统,这样比较麻烦.那么有什么办法可以取消登录界面呢?方法当然是有的,阅读下文教程,我们一起来看下Wi ...