mybayis项目使用的Mapping文件使用总结参考(二)
针对in字句中的数组使用方法
<select id="getCpProfileNamesByIds" resultType="string">
select name from mega_mis_smpp where id in
<foreach item="ids" index="index" collection="array" open="(" separator="," close=")">
#{ids}
</foreach>
</select>
针对in字句中的Collection使用方法
存储过程的使用:
<select id="FactoryNumberDao.getNewFactoryCode" resultMap="BaseResultMap" >
DECLARE @factoryCode varchar(5)
EXEC P_Factory_Number
@factoryCode = @factoryCode OUTPUT
SELECT @factoryCode as factoryCode
</select>
Ognl的使用:
<select id="AreaDao.findByPageArea.count"
resultType="java.lang.Long">
SELECT count(*) from gs_area
<include refid="areaDaoDynamicWhere"/> </select> <sql id="areaDaoDynamicWhere">
<!--
ognl访问静态方法的表达式
为@class@method(args),以下为调用框架中的Ognl.isNotEmpty()方法,还有其它方法如isNotBlank()可以使用,具体请查看Ognl类
-->
<where>
<!-- del_flag = '0' -->
<if test="@Ognl@isNotEmpty(areaCode)">
and area_code = #{areaCode}
</if>
<if test="@Ognl@isNotEmpty(areaName)">
and area_name like '%${areaName}%'
</if>
</where>
</sql>
sql标签:
<sql id="Base_Column_List" >
factory_code, factory_name, factory_user, factory_desc, tel, email, update_time,
state_flag
</sql>
<select id="FactoryDao.selectByPrimaryKey" resultMap="FactoryInfoMap" parameterType="java.lang.String" >
select
<include refid="Base_Column_List" />
from dbo.gs_factory
where factory_code = #{factoryCode,jdbcType=VARCHAR}
</select>
<select id="LineDao.findByPageLine.count"
resultType="java.lang.Long">
SELECT count(*) from gs_line
<include refid="lineDaoDynamicWhere"/>
</select>
<sql id="lineDaoDynamicWhere">
<!--
ognl访问静态方法的表达式
为@class@method(args),以下为调用框架中的Ognl.isNotEmpty()方法,还有其它方法如isNotBlank()可以使用,具体请查看Ognl类
-->
<where>
<!-- del_flag = '0' -->
<if test="@Ognl@isNotEmpty(lineCode)">
and line_code = #{lineCode}
</if>
<if test="@Ognl@isNotEmpty(lineName)">
and line_name like '%${lineName}%'
</if>
</where>
</sql>
<sql id="stationTaskReportChartDynamicWhere">
<!--
ognl访问静态方法的表达式
为@class@method(args),以下为调用框架中的Ognl.isNotEmpty()方法,还有其它方法如isNotBlank()可以使用,具体请查看Ognl类
-->
<choose>
<when test="endDate!=null and startDate!=null">
and g.plan_task_date BETWEEN #{startDate,jdbcType=TIMESTAMP} AND #{endDate,jdbcType=TIMESTAMP}
</when>
<when test="endDate==null and startDate!=null">
and g.plan_task_date >= #{startDate,jdbcType=TIMESTAMP}
</when>
<when test="endDate!=null and startDate==null">
<![CDATA[
and g.plan_task_date <= #{startDate,jdbcType=TIMESTAMP}
]]>
</when>
</choose>
<if test="stationCodeList!=null">
and g.station_code in
<foreach item="stationCode" index="index" open="(" close=")" separator="," collection="stationCodeList">
#{stationCode}
</foreach>
</if>
<if test="userCodeList!=null">
and g.user_code in
<foreach item="userCode" index="index" open="(" close=")" separator="," collection="userCodeList">
#{userCode}
</foreach>
</if>
</sql>
trim标签的使用:
<insert id="AssetTypeDao.insert" parameterType="com.easyway.eamsg.assetmgt.domain.AssetTypeInfo" >
insert into dbo.gs_asset_type
<trim prefix="(" suffix=")" suffixOverrides="," >
<if test="assetTypeCode != null" >
asset_type_code,
</if>
<if test="assetTypeName != null" >
asset_type_name,
</if>
<if test="assetTypeDesc != null" >
asset_type_desc,
</if>
<if test="natureFlag != null" >
nature_flag,
</if>
<if test="featureFlag != null" >
feature_flag,
</if>
<if test="codingFlag != null" >
coding_flag,
</if>
<if test="matchFlag != null" >
match_flag,
</if>
<if test="updateTime != null" >
update_time,
</if>
<if test="stateFlag != null" >
state_flag,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides="," >
<if test="assetTypeCode != null" >
#{assetTypeCode,jdbcType=VARCHAR},
</if>
<if test="assetTypeName != null" >
#{assetTypeName,jdbcType=VARCHAR},
</if>
<if test="assetTypeDesc != null" >
#{assetTypeDesc,jdbcType=VARCHAR},
</if>
<if test="natureFlag != null" >
#{natureFlag,jdbcType=CHAR},
</if>
<if test="featureFlag != null" >
#{featureFlag,jdbcType=CHAR},
</if>
<if test="codingFlag != null" >
#{codingFlag,jdbcType=CHAR},
</if>
<if test="matchFlag != null" >
#{matchFlag,jdbcType=CHAR},
</if>
<if test="updateTime != null" >
#{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="stateFlag != null" >
#{stateFlag,jdbcType=CHAR},
</if>
</trim>
</insert>
set标签的使用
<update id="AssetTypeDao.update" parameterType="com.easyway.eamsg.assetmgt.domain.AssetTypeInfo" >
update dbo.gs_asset_type
<set >
<if test="assetTypeName != null" >
asset_type_name = #{assetTypeName,jdbcType=VARCHAR},
</if>
<if test="assetTypeDesc != null" >
asset_type_desc = #{assetTypeDesc,jdbcType=VARCHAR},
</if>
<if test="natureFlag != null" >
nature_flag = #{natureFlag,jdbcType=CHAR},
</if>
<if test="featureFlag != null" >
feature_flag = #{featureFlag,jdbcType=CHAR},
</if>
<if test="codingFlag != null" >
coding_flag = #{codingFlag,jdbcType=CHAR},
</if>
<if test="matchFlag != null" >
match_flag = #{matchFlag,jdbcType=CHAR},
</if>
<if test="updateTime != null" >
update_time = #{updateTime,jdbcType=TIMESTAMP},
</if>
<if test="stateFlag != null" >
state_flag = #{stateFlag,jdbcType=CHAR},
</if>
</set>
where asset_type_code = #{assetTypeCode,jdbcType=VARCHAR}
</update>
存储过程:
<select id="SiteAssetsSoftWareNumberDao.getNewsiteAssetsSoftwareCode" resultMap="BaseResultMap" parameterType="com.easyway.eamsg.assetmgt.domain.SiteAssetsSoftWareNumbeInfo" >
DECLARE @siteAssetsSoftwareCode varchar(13)
EXEC P_Site_Assets_Software_Number
@stationCode = #{stationCode,jdbcType=VARCHAR},
@assetTypeCode = #{assetTypeCode,jdbcType=VARCHAR},
@siteAssetsSoftwareCode = @siteAssetsSoftwareCode OUTPUT
SELECT @siteAssetsSoftwareCode as siteAssetsSoftwareCode
</select>
存储过程2:
<resultMap id="BaseResultMap" type="com.easyway.eamsg.assetmgt.domain.SparePartsNumbeInfo" >
<id column="id" property="id" jdbcType="INTEGER" />
<result column="remarks" property="remarks" jdbcType="VARCHAR" />
<result column="sparePartsCode" property="sparePartsCode" jdbcType="VARCHAR" />
</resultMap>
<select id="SparePartsNumberDao.getNewSparePartsCode" resultMap="BaseResultMap" >
DECLARE @sparePartsCode varchar(17)
EXEC P_Spare_Parts_Number
@sparePartsCode = @sparePartsCode OUTPUT
SELECT @sparePartsCode as sparePartsCode
</select>
mybayis项目使用的Mapping文件使用总结参考(二)的更多相关文章
- Mybayis的项目使用的Mapping文件使用总结参考(一)
作者:longgangbai 以前用过ibatis2,但是听说ibatis3有较大的性能提升,而且设计也更合理,他不兼容ibatis2.尽管ibatis3还是beta10的状态,但还是打算直接使用ib ...
- 使用mybatis-generator自动生成model、dao、mapping文件
参考文献:http://www.cnblogs.com/smileberry/p/4145872.html 一.所需库 1.mybatis-generator库 2.连接DB的驱动(此以mysql为例 ...
- Android项目实战(二十四):项目包成jar文件,并且将工程中引用的jar一起打入新的jar文件中
前言: 关于.jar文件: 平时我们Android项目开发中经常会用到第三方的.jar文件. 其实.jar文件就是一个类似.zip文件的压缩包,里面包含了一些源代码,注意的是.jar不包含资源文件(r ...
- ANDROID STDUIO 项目里的R文件突然丢失的解决办法N种之一
刚刚项目里的R文件突然挂了,清理项目,关闭重开Studio,都不能解决.快没折了. 然后只好在项目上右击,看看有没有解决的办法.发现有个 Make Module ,姑且试试吧. 结果,竟然修复了.这是 ...
- chrome调试本地项目, 引用本地javascript文件
chrome调试本地项目, 引用本地javascript文件 本地文件可以访问本地文件 修改快捷方式属性 C:\Users\xxx\AppData\Local\Google\Chrome\Applic ...
- 解决eclipse+git中每次clean项目需要重新commit文件
使用.gitignore文件避免每次clean项目需要重新commit文件(XX.xcodeproj/project.xcworkspace/xcuserdata/XX.xcuserdatad/Use ...
- delphi项目中的modelsupport文件夹
delphi项目中的modelsupport文件夹 今天写着写着突然发现多了一个这个文件夹..苦思不得其解 看着又难受 删了又重建 终于找到了 存此备查;Tools--option--toget ...
- iOS之多控制器管理--项目中的常见文件
项目中的常见文件 内容大纲: 1.LaunchScreen 2.info.plist文件 3.pch文件 1.LaunchScreen xcode5和xcode6区别 1.xcode6没有Framew ...
- PTPX中的activity文件以及mapping文件
在不同的simulation中的capturing switching activity: SAIF:Switching Activity Interface Format,包含toggle coun ...
随机推荐
- js函数(2)
8.3函数的形参和实参 js中的函数并未指定函数形参的类型,函数调用也未对传入的实参值做任何类型的检查. 8.3.1函数的形参和实参 当调用函数时传入的实参比函数声明时指定的形参个数要少,剩下的参数都 ...
- Spring mybatis源码篇章-动态SQL节点源码深入
通过阅读源码对实现机制进行了解有利于陶冶情操,承接前文Spring mybatis源码篇章-动态SQL基础语法以及原理 前话 前文描述到通过mybatis默认的解析驱动类org.apache.ibat ...
- *#【Python】【基础知识】【模块】【datetime】【使用datetime模块 】
datetime模块 的介绍: 用于调取时间.日期 datetime包含的 方法: >>> dir(datetime) ['MAXYEAR', 'MINYEAR', '__built ...
- Upgrading CentOS 6 to CentOS 7
Upgrading CentOS 6 to CentOS 7 November 15th, 2018 — whplus PRE TASKS There are some tasks you can d ...
- mysql插入中文数据变成问号怎么处理
插入中文数据变成问号,一般都是因为字符集没有设置成utf8的原因 1.修改字符集: ALTER TABLE 表名 MODIFY 列名 类型(50) CHARACTER SET "utf8&q ...
- 【模板】C++高精度加法
所谓高精度加法就是对两个和可能会超过long long数据范围的数进行加法运算.这种情况下,显然不能使用常规的方法进行运算. 那么,不妨考虑一下人在纸上是如何进行加法运算的.当人进行加法运算时,通常会 ...
- fontmin字体子集
怕忘了做个记录 链接:http://ecomfe.github.io/fontmin/#feature 特点:方便,快捷.
- day04_XPATH提取数据
1.XML简介 1.1.定义 可扩展标记语言(EXtensible Markup Language) 1.2.特点 一种标记语言,很类似 HTML XML 的标签需要我们自行定义 被设计为具有自我 ...
- SpringBoot与缓存、消息、检索、任务、安全与监控
一.Spring抽象缓存 Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口 ...
- 基于【 Docker】一 || ElK安装部署使用教程
一.ELK介绍 1.ELK组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发 ...