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读取属性顺序. 如果属性在不只一个地方进行了配置 ...
随机推荐
- elasticsearch 深入 —— normalizer
keyword字段的normalizer属性类似于分析器,只是它保证分析链生成单个token. 在索引关键字之前,以及在通过诸如match查询之类的查询解析器或者通过诸如term查询之类的术语级查询搜 ...
- Solr的学习使用之(四)建数据库(添加Core)、表(配置schema.xml)
1.数据库数据库就相当于solr里面的核.solr4.6不能使用界面提供的的Core Admin/Add Core来建立,会报错,不懂为啥:那就采用最 简单的办法:把solr下载包里面的\solr-4 ...
- Python元类之由浅入深
前言 元类属于python面向对象编程的深层次的魔法,非常重要,它使我们可以更好的掌控类从创建到消亡的整个生命周期过程.很多框架的源码中都使用到了元类.例如 Django Framework 中的 ...
- elasticsearch相关聚合查询示例
索引(index):logstash-nginx-*,type:nginx_access 请求路径: 1.按照某个字段进行分组统计访问量 { "query": { "bo ...
- javascript中数组元素删除方法splice,用在for循环中巨坑
一.demo splice: 该方法会改变自动原始数组长度 实例: var array = ["aa","dd","cc","aa ...
- 利用 Redis 锁解决高并发问题
这里我们主要利用 Redis 的 setnx 的命令来处理高并发. setnx 有两个参数.第一个参数表示键.第二个参数表示值.如果当前键不存在,那么会插入当前键,将第二个参数做为值.返回 1.如果当 ...
- Properties工具类学习
Properties类学习 1.定义 Properties,java.utils包下的一个工具类,主要用于读取Java的配置文件.各种语言都有自己所支持的配置文件,配置文件中很多变量是经常变动的. 这 ...
- docker:docker的基本了解
1.什么是docker 简单的理解:docker相当于vmvare,容器相当于多个虚拟机,vmvare上可以运行ubantu16.04的虚拟机,也可以运行centos虚拟机,还可以运行redhat虚拟 ...
- DB事务隔离级别
原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11393417.html 事务隔离级别 Note: Oracle默认的隔离级别是 READ COMMIT ...
- $emit 和 $on 进行平行组件之间的传值
效果图: 注:$emit 和 $on 的事件必须在一个公共的实例上,才能够触发: $emit 触发 $on 接收 需求: 1.有A.B.C三个组件,同时挂载到入口组件中: 2.将A组件中的数据传递到C ...