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访问静态方法的表达式
   为@[email protected](args),以下为调用框架中的Ognl.isNotEmpty()方法,还有其它方法如isNotBlank()可以使用,具体请查看Ognl类
  -->
  <where>
   <!-- del_flag = ‘0‘ -->
   <if test="@[email protected](areaCode)">
    and area_code = #{areaCode}
     </if>
   <if test="@[email protected](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访问静态方法的表达式
   为@[email protected](args),以下为调用框架中的Ognl.isNotEmpty()方法,还有其它方法如isNotBlank()可以使用,具体请查看Ognl类
  -->
  <where>
   <!-- del_flag = ‘0‘ -->
   <if test="@[email protected](lineCode)">
    and line_code = #{lineCode}
     </if>
   <if test="@[email protected](lineName)">
    and line_name like ‘%${lineName}%‘
     </if>
  </where>
 </sql>
  <sql id="stationTaskReportChartDynamicWhere">
  <!--
   ognl访问静态方法的表达式
   为@[email protected](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> 
时间: 2024-10-29 10:46:47

mybayis项目使用的Mapping文件使用总结参考(二)的相关文章

Mybayis的项目使用的Mapping文件使用总结参考(一)

作者:longgangbai 以前用过ibatis2,但是听说ibatis3有较大的性能提升,而且设计也更合理,他不兼容ibatis2.尽管ibatis3还是beta10的状态,但还是打算直接使用ibatis3.0, ibatis3.0应该更简单高效.最近还自己写了个ibatis3.0与spring集成的bean,运行还正常,还自鸣得意了一番,但是当独立使用ibatis时,在事务管理这个方面还是出现不少问题,所以还是打算再认真研究一番ibatis3.0 1.SqlSessionFactory 每

关于Android Studio打包混淆以及上传mapping文件

关于android Studio打包混淆以及上传mapping文件 转载请注明出处: http://blog.csdn.net/u014163726?viewmode=contents 本文出自Wrh的博客 打包 android studio的打包很简单 然后如果已经有keystore的一路next下去,如果没有的可能需要先创建keystore,最后我们就会得到一个apk文件 混淆 现在网上关于反编译的博客很多了,我在此就不多做介绍了,放上个传送门传送门 那么我们已经知道了反编译是如此的简单,我

maven新建Spring MVC + MyBatis + Oracle的Web项目中pom.xml文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion&

Eclipse无法打开项目中的任何文件

今天,Eclipse居然打不开项目的任何一个文件,网上也没搜到,我决定重置下视图试试: Windows-Reset Persective-然后能正常打开项目的文件了,解决问题!

iOS之多控制器管理--项目中的常见文件

*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } a { color: #4183C4; } a.absent { color: #cc0000; } a.anchor { display: block; padding-left: 30px; margin-left: -30px; cursor: pointer; position: absolute

项目--简单导出CSV文件

//导出 protected void BtnOutPut_Click(object sender, EventArgs e) { //角色 InitialRoles(); DataTable dt = DBClass.GetDataTable(string.Format(@"SELECT * FROM {0} Order By SN desc", View(Where))); StringWriter sw = new StringWriter(); //4S店不能看到总部价格等相关

php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页面存储到本地

php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页面存储到本地 yeah,搞定啦 php大力力 [029节] 做PHP项目如何下载js文件:使用腾讯浏览器把网上案例页面存储到本地

C#项目,在controller文件夹右击鼠标没有“添加控制器”的问题

1.发现拷贝的项目,在controller文件夹右击鼠标不能没有“添加控制器”这一项,在控制器里面右键控制器名称也没有“添加视图”,这样就控制器和视图都要手写,开发效率低 . 2.原因是mvc包的问题,解决方法为:先卸载mvc包,再安装一次,再重启vs. 具体步骤: 1)在自己的web项目的“引用”上操作,如下图的“引用”,右击,点击”管理NuGet程序包“. 2)在弹出的如下界面,找到该项,点击“卸载”. 3)卸载完之后就安装这个. 4)一般的情况下,以上的步骤就可以完成了,重启一下项目后,问

安卓项目中的必须文件

res目录.src目录和AndroidManifest.xml文件是Android项目所必须的.其他目录.其他文件都是可选的.res目录存放android项目的各种资源文件,比如layout存放界面布局文件.values目录下则存放各种XML格式的资源文件,例如字符串资源文件:string.xml;颜色资源文件:colors.xml;尺寸资源文件:dimens.xml.src目录只是一个普通的.保存java源文件的目录.AndroidManifest.xml文件是Android项目的系统清单文件