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读取属性顺序. 如果属性在不只一个地方进行了配置 ...
随机推荐
- JavaScript深入之类数组对象与arguments(转载)
类数组对象 所谓的类数组对象: 拥有一个 length 属性和若干索引属性的对象 举个例子: var array = ['name', 'age', 'sex']; var arrayLike = { ...
- 2018-7-24-WPF-渲染级别
title author date CreateTime categories WPF 渲染级别 lindexi 2018-07-24 18:46:27 +0800 2018-04-20 16:26: ...
- python断言语句assert
断言语句的格式 assert test, [msg] test是一个表达式,表达式求值为Fals时引发AssertionError异常,msg是可选的异常消息. def test_assert(a): ...
- day20 python异常处理 try except
day20 python 一.异常处理 1.什么是异常, 常见异常有: 逻辑错误 ''' name Traceback (most recent call last): ...
- C++链接器
链接器把多个二进制的目标文件(object file)链接成一个单独的可执行文件 在链接过程中,它必须把符号(变量名.函数名等一些列标识符)用对应的数据的内存地址(变量地址.函数地址等)替代,以完成程 ...
- Vue路由监听
一.问题描述 描述:页面1showowner.vue跳转到页面2showuser.vue 需求:页面1的多个结点对应于一个页面2文件[页面2未展示] 问题:并不是页面一的一个结点对应一个页面二文件 处 ...
- bzoj4489 [Jsoi2015]地铁线路 最短路
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4489 题解 感觉又被骗了.看这道题的 AC 人数不多,以为是一道很好的题目.结果发现是一个非常 ...
- Yii Ar model 查询
Ar model 查询 参照表: CREATE TABLE tbl_user ( id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, username VA ...
- 人生苦短_我用Python_openpyxl库读取Excel文件数据_008
上图为读取的目标文件--------------------------------------------------------------------------------- # coding ...
- Docker安装Kibana
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11759137.html 拉取镜像 docker pull kibana: 创建用户自定义网络 dock ...