文档章节

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

乐在克里特
 乐在克里特
发布于 2017/02/24 11:32
字数 490
阅读 6
收藏 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>

 

© 著作权归作者所有

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

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

brianway
2016/02/27
334
0
MyBatis初探一

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

AAASSSSddd
2016/04/02
64
0
spring-boot、mybatis整合

一、MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配...

小不点丶
2017/08/22
0
0
MyBatis框架教程「入门起步」

今天我们就踏上学习Mybatis框架的旅程,在SSM框架中Mybatis框架是dao层的一个解决方案。相当于传统Servlet+JavaBean开发模式中JDBC的作用。具体关于MVC架构的知识可以移步「从零学习Spring ...

技术小能手
07/30
0
0
Mybatis总结

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

u013043341
2017/07/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EOS docker开发环境

使用eos docker镜像是部署本地EOS开发环境的最轻松愉快的方法。使用官方提供的eos docker镜像,你可以快速建立一个eos开发环境,可以迅速启动开发节点和钱包服务器、创建账户、编写智能合约....

汇智网教程
今天
4
0
《唐史原来超有趣》的读后感优秀范文3700字

《唐史原来超有趣》的读后感优秀范文3700字: 作者:花若离。我今天分享的内容《唐史原来超有趣》这本书的读后感,我将这本书看了一遍之后就束之高阁了,不过里面的内容一直在在脑海中回放,...

原创小博客
今天
8
0
IC-CAD Methodology知识图谱

CAD (Computer Aided Design),计算机辅助设计,指利用计算机及其图形设备帮助设计人员进行设计工作,这个定义同样可以用来近似描述IC公司CAD工程师这个岗位的工作。 早期IC公司的CAD岗位最初...

李艳青1987
今天
12
0
CompletableFuture get方法一直阻塞或抛出TimeoutException

问题描述 最近刚刚上线的服务突然抛出大量的TimeoutException,查询后发现是使用了CompletableFuture,并且在执行future.get(5, TimeUnit.SECONDS);时抛出了TimeoutException异常,导致接口响...

xiaolyuh
今天
6
0
dubbo 搭建与使用

官网:http://dubbo.apache.org/en-us/ 一,安装监控中心(可以不安装) admin管理控制台,monitor监控中心 下载 bubbo ops 这个是新版的,需要node.js环境,我没有就用老版的了...

小兵胖胖
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部