zoukankan      html  css  js  c++  java
  • mybat使用注解的方式如@Select写sql

    package com.polymer.app.mapper;
    
    import org.apache.ibatis.annotations.Mapper;
    import org.apache.ibatis.annotations.Select;
    
    import com.polymer.app.entity.BussinessDO;
    @Mapper
    public interface BussinessMapper {
    
        BussinessDO selectByPrimaryKey(String paramType);
        
        @Select("select PARAM_TYPE, PARAM_VALUE, DESCR, REMARK from bussiness_param where PARAM_TYPE = #{paramType,jdbcType=VARCHAR}")
        BussinessDO selectByPrimaryKeyNoXml(String paramType);
    }
    <?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.polymer.app.mapper.BussinessMapper">
      <resultMap id="BaseResultMap" type="com.polymer.app.entity.BussinessDO">
        <id column="PARAM_TYPE" jdbcType="VARCHAR" property="paramType" />
        <result column="PARAM_VALUE" jdbcType="VARCHAR" property="paramValue" />
        <result column="DESCR" jdbcType="VARCHAR" property="descr" />
        <result column="REMARK" jdbcType="VARCHAR" property="remark" />
      </resultMap>
      <sql id="Base_Column_List">
        PARAM_TYPE, PARAM_VALUE, DESCR, REMARK
      </sql>
      <select id="selectByPrimaryKey" parameterType="java.lang.String" resultMap="BaseResultMap">
        select 
        <include refid="Base_Column_List" />
        from bussiness_param
        where PARAM_TYPE = #{paramType,jdbcType=VARCHAR}
      </select>
    </mapper>

    使用注解的方式要注意的地方:使用mybatis操作数据库有两种方式xml注入和@注解方式,两种方式在项目中是可以共存的。

    注解方式:使用注解方式默认需要实体类的属性值和表的列名保持一致,否则无法映射到对应的值;或者使用@Results来手动设置映射关系,优点:看着优雅一点,方便修改,缺点:动态sql语句不好写,比较麻烦

    xml形式:很常用的方式,有各种逆向工程可以生成mapper.xml文件,看着比较乱,各种标签满天飞,修改的时候很痛苦。

    至于两者运行效率:不管是xml注入还是@注解注入,都是在程序启动的时候加载到bean里面的,所以理论上运行效率不会有明显的区别。

  • 相关阅读:
    机器学习问题之屌丝的女神专属
    【读点paper】irgan
    回老园子
    【Linux】常用命令收集
    【Matlab】基本语法
    【Ubuntu】log
    【Java 学习笔记】 Hadoop学习笔记
    【Algorithm】 字符串算法
    【WordPress】小卡的土豆园开张
    【Log】Self-Check Log
  • 原文地址:https://www.cnblogs.com/zyf-yxm/p/10483627.html
Copyright © 2011-2022 走看看