mybatis 持久层框架

介绍

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。
MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO为数据库中的记录。

批量插入

--mapper
void insertBatch(@Param("listRe")List<BizOrganizationRe> listRe);
  --xml
	<insert id="insertBatch" parameterType="java.util.List"
		useGeneratedKeys="false">
		INSERT ALL
		<foreach collection="listRe" item="item" index="index">
			into T_BIZ_ORGANIZATION_RE
			(id, org_code, org_code_re, create_time, create_user)
			values
			(#{item.id}, #{item.orgCode}, #{item.orgCodeRe}, #{item.createTime},
			#{item.createUser, jdbcType=VARCHAR})
		</foreach>
        SELECT 1 FROM DUAL
	</insert>

mybatis忽略字符串大小写

select * from ods_cpp_info upper(model_code) = upper (#{modelCode,jdbc=VARCHAR})
upper可以将字符由小写转为大写
lower可以将字符由大写转为小写

mapper.xml

<?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.mp.isrp.mapper.UserTokenMapper">
  <resultMap id="BaseResultMap" type="com.mp.isrp.bean.domain.UserToken">
    <id column="TOKEN" jdbcType="VARCHAR" property="token" />
    <result column="APP_UID" jdbcType="VARCHAR" property="appUid" />
    <result column="OPR_ID" jdbcType="VARCHAR" property="oprId" />
    <result column="TOKEN_CREATE_TIME" jdbcType="TIMESTAMP" property="tokenCreateTime" />
    <result column="VALID_PERIOD" jdbcType="DECIMAL" property="validPeriod" />
    <result column="OTHER_INFO" jdbcType="VARCHAR" property="otherInfo" />
    <result column="USER_APP_NO" jdbcType="VARCHAR" property="userAppNo" />
    <result column="USER_UNIT_ID" jdbcType="VARCHAR" property="userUnitId" />
    <result column="USER_CORP_CODE" jdbcType="VARCHAR" property="userCorpCode" />
  </resultMap>
  
  <sql id="Base_Column_List">
    TOKEN, APP_UID, OPR_ID, TOKEN_CREATE_TIME, VALID_PERIOD, OTHER_INFO, USER_APP_NO, 
    USER_UNIT_ID, USER_CORP_CODE
  </sql>
  
  <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from USER_TOKEN
    where TOKEN = #{token,jdbcType=VARCHAR}
  </select>
  
  <delete id="deleteByPrimaryKey" parameterType="java.lang.String">
    delete from USER_TOKEN
    where TOKEN = #{token,jdbcType=VARCHAR}
  </delete>
  
  <insert id="insert" parameterType="com.mp.isrp.bean.domain.UserToken">
    insert into USER_TOKEN (TOKEN, APP_UID, OPR_ID, 
      TOKEN_CREATE_TIME, VALID_PERIOD, OTHER_INFO, 
      USER_APP_NO, USER_UNIT_ID, USER_CORP_CODE
      )
    values (#{token,jdbcType=VARCHAR}, #{appUid,jdbcType=VARCHAR}, #{oprId,jdbcType=VARCHAR}, 
      #{tokenCreateTime,jdbcType=TIMESTAMP}, #{validPeriod,jdbcType=DECIMAL}, #{otherInfo,jdbcType=VARCHAR}, 
      #{userAppNo,jdbcType=VARCHAR}, #{userUnitId,jdbcType=VARCHAR}, #{userCorpCode,jdbcType=VARCHAR}
      )
  </insert>
 
  
  
  <update id="updateByPrimaryKeySelective" parameterType="com.mp.isrp.bean.domain.UserToken">
    update USER_TOKEN
    <set>
      <if test="appUid != null">
        APP_UID = #{appUid,jdbcType=VARCHAR},
      </if>
      <if test="oprId != null">
        OPR_ID = #{oprId,jdbcType=VARCHAR},
      </if>
      <if test="tokenCreateTime != null">
        TOKEN_CREATE_TIME = #{tokenCreateTime,jdbcType=TIMESTAMP},
      </if>
      <if test="validPeriod != null">
        VALID_PERIOD = #{validPeriod,jdbcType=DECIMAL},
      </if>
      <if test="otherInfo != null">
        OTHER_INFO = #{otherInfo,jdbcType=VARCHAR},
      </if>
      <if test="userAppNo != null">
        USER_APP_NO = #{userAppNo,jdbcType=VARCHAR},
      </if>
      <if test="userUnitId != null">
        USER_UNIT_ID = #{userUnitId,jdbcType=VARCHAR},
      </if>
      <if test="userCorpCode != null">
        USER_CORP_CODE = #{userCorpCode,jdbcType=VARCHAR},
      </if>
    </set>
    where TOKEN = #{token,jdbcType=VARCHAR}
  </update>
</mapper>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值