文档章节

MyBatis中XML 映射配置文件的简单介绍

乐在克里特
 乐在克里特
发布于 2017/02/24 11:32
字数 490
阅读 4
收藏 0
点赞 0
评论 0

官网写的比较具体,可以查看以下的网站:

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>

 

© 著作权归作者所有

共有 人打赏支持
乐在克里特
粉丝 15
博文 265
码字总数 394729
作品 0
杭州
程序员
mybatis学习笔记(2)-mybatis概述

mybatis学习笔记(2)-mybatis概述 标签: mybatis [TOC] 本文对mybatis做一个简单介绍,包括框架原理,执行过程,开发方法,输入输出映射以及动态sql,我会在后续的系列文章中一一详细说明 my...

brianway ⋅ 2016/02/27 ⋅ 0

MyBatis初探一

一、MyBatis介绍 mybatis(持久层框架3.2.6 or 3.2.7)简单执行流程 >1.SqlMapConfig.xml(全局配置文件),配置数据源,事务和运行环境等 >2.配置映射文件(编写SQL语句):mapper.xml... >3.SqlSes...

AAASSSSddd ⋅ 2016/04/02 ⋅ 0

mybatis(七)mapper映射文件配置之insert、update、delete

上篇文章简单地给mybatis的配置画上了一个句号。那么从本篇文章开始,将会介绍mapper映射文件的配置, 这是mybatis的核心之一,一定要学好。在mapper文件中,以mapper作为根节点,其下面可以...

LCZ777 ⋅ 2014/12/19 ⋅ 0

Mybatis总结

什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。iBATIS一词来源于“internet”和“abatis”...

u013043341 ⋅ 2017/07/30 ⋅ 0

Hibernate 与mybatis的区别

首先简单介绍下两者的概念: Hibernate :Hibernate 是当前最流行的ORM框架,对数据库结构提供了较为完整的封装。 Mybatis:Mybatis同样也是非常流行的ORM框架,主要着力点在于POJO 与SQL之间...

quickhelper ⋅ 2015/08/12 ⋅ 0

MyBatis使用心得(一)--- 简单介绍

Mybatis的前身是iBatis,iBatis原本就是apache的一个开源项目,2010年该项目有apache迁移到了google code,并改名为MyBatis。 1. 简介 MyBatis支持普通SQL查询,存储过程和高级映射的优秀持久...

半夏alvin ⋅ 2014/04/21 ⋅ 0

MyBatis-Spring集成的理解

首先我自己简单介绍一下mybatis mybatis是在配置中写SQL,用对象映射 mybatis看做是是数据持久层的框架,它主要是对数据库和对象的关系进行操作 再说下: mybatis和hibernate的最大区别在于,...

EDIAGD ⋅ 2013/01/26 ⋅ 2

springMVC+mybatis+mysql学习心得

MyBatis 是一个可以自定义SQL、存储过程和高级映射的持久层框架。 MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。 MyBatis 只使用简单的XML 和注解来配置和映射基本数据类型、...

lcxia ⋅ 2015/07/14 ⋅ 1

MyBatis入门学习教程 MyBatis快速入门1-8(1)

一、Mybatis介绍      MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用...

筱飞 ⋅ 2016/07/21 ⋅ 0

Mybatis在接口上使用注解配置SQL语句以及接口与xml一起使用

在接口上使用注解配置SQL语句 MyBatis对于大部分的基于XML的映射器元素(包括)提供了对应的基于注解的配置项。然而在某些情况下,基于注解配置 还不能支持基于XML的一些元素。MyBatis提供了...

ZeroOne01 ⋅ 04/01 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

js模拟栈和队列

栈和队列 栈:LIFO(先进后出)一种数据结构 队列:LILO(先进先出)一种数据结构 使用的js方法 1.push();可以接收任意数量的参数,把它们逐个推进队尾(数组末尾),并返回修改后的数组长度。 2....

LIAOJIN1 ⋅ 25分钟前 ⋅ 0

180619-Yaml文件语法及读写小结

Yaml文件小结 Yaml文件有自己独立的语法,常用作配置文件使用,相比较于xml和json而言,减少很多不必要的标签或者括号,阅读也更加清晰简单;本篇主要介绍下YAML文件的基本语法,以及如何在J...

小灰灰Blog ⋅ 33分钟前 ⋅ 0

IEC60870-5-104规约传送原因

1:周期循环2:背景扫描3:自发4:初始化5:请求6:激活7:激活确认8:停止激活9:停止激活确认10:激活结束11:远程命令引起的返送信息12:当地命令引起的返送信息13:文件传送20:响应总召...

始终初心 ⋅ 46分钟前 ⋅ 0

【图文经典版】冒泡排序

1、可视化排序过程 对{ 6, 5, 3, 1, 8, 7, 2, 4 }进行冒泡排序的可视化动态过程如下 2、代码实现    public void contextLoads() {// 冒泡排序int[] a = { 6, 5, 3, 1, 8, 7, 2, ...

pocher ⋅ 57分钟前 ⋅ 0

ORA-12537 TNS-12560 TNS-00530 ora-609解决

oracle 11g不能连接,卡住,ORA-12537 TNS-12560 TNS-00530 TNS-12502 tns-12505 ora-609 Windows Error: 54: Unknown error 解决方案。 今天折腾了一下午,为了查这个问题。。找了N多方案,...

lanybass ⋅ 今天 ⋅ 0

IDEA反向映射Mybatis

1.首先在pom文件的plugins中添加maven对mybatis-generator插件的支持 ` <!-- mybatis逆向工程 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generator-ma......

lichengyou20 ⋅ 今天 ⋅ 0

4.10/4.11/4.12 lvm讲解 4.13 磁盘故障小案例

准备磁盘分区 fdisk /dev/sdb n 创建三个新分区,分别1G t 改变分区类型为8e 准备物理卷 pvcreate /dev/sdb1 pvcreate /dev/sdb2 pvcreate /dev/sdb3 pvdisplay/pvs 列出当前的物理卷 pvremo...

Linux_老吴 ⋅ 今天 ⋅ 0

zabbix 3.4安装

#已装好lamp环境 1.安装相关yum仓库 rpm -i http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm #tip:rpm -ql zabbix-release 看上面这个软件装了哪些东......

山月关 ⋅ 今天 ⋅ 0

Java的Excel导出工具类

首先在POM中引入需要的Jar <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency><dependency><groupId>o......

Kxvz ⋅ 今天 ⋅ 0

springboot 使用jsp

目录结构: 启动文件的Application必须在contorller文件的父级 文件路径在src/main/webapp下面 我的配置:前缀是/WEB-INF/jsp/ pom.xml需要加入tomcat-embed-jasper, 对jsp的支持的依赖 <de...

夜醒者 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部