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 ...
随机推荐
- kafka 名词解释及原理解析过程(三)
为什么要了解这些名词的解释呢?因为在学一个新的知识或者领域的时候,我们需要知道它所定义的概念和名词意思,因为只有这样我们才能理解和掌握这个新的知识点,才能更加系统的掌握这个技术. 一.名词解释 1.b ...
- [转帖]iphone11的部分参数 UX
iPhone 11将于9月11号凌晨发布 靠谱爆料在这 https://www.cnbeta.com/articles/tech/884199.htm iphone的分辨率 非常高.. iphone ...
- HTTP请求方法:GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE 说明
平时的Rest开发,用到的都是GET,POST,PUT,DELETE类型的请求. 但Rest支持的请求类型不止前面4种,还有其他几种. 下面部分转自: https://www.html.cn/arch ...
- Ural 1201 Which Day Is It? 题解
目录 Ural 1201 Which Day Is It? 题解 题意 输入 输出 题解 程序 Ural 1201 Which Day Is It? 题解 题意 打印一个月历. 输入 输入日\((1\ ...
- 【Python】**kwargs和takes 1 positional argument but 2 were given
Python的函数定义中可以在参数里添加**kwargs——简单来说目的是允许添加不定参数名称的参数,并作为字典传递参数.但前提是——你必须提供参数名. 例如下述情况: class C(): def ...
- fiddler笔记:与Web Session的交互
Decode Selected Session 解决响应体显示乱码的问题. AutoScroll Session List 决定Fiddler是否会自动将新增的Session添加到web sessio ...
- 【转】STM32的FSMC详解
STM32的FSMC真是一个万能的总线控制器,不仅可以控制SRAM,NOR FLASH,NAND FLASH,PC Card,还能控制LCD,TFT. 一般越是复杂的东西,理解起来就很困难,但是使用上 ...
- 论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd
论文阅读:Adaptive NMS: Refining Pedestrian Detection in a Crowd 2019年04月11日 23:08:02 Kivee123 阅读数 836 ...
- *4.1 所有类型都从System.Object派生
- C#基础知识 (转)
https://www.cnblogs.com/zhouzhou-aspnet/articles/2591596.html(原文地址) 本文是一个菜鸟所写,本文面向的人群就是像我这样的小菜鸟,工作一年 ...