mybaits requestMap與requestType,以及對應的注解


有的時候不喜歡用xml配置文件,但是xml配置文件的開發使用簡單,自己經常要用到;
因為代碼維護的緣故,有的時候看別人的代碼,可能存在大量的mappper文件,也不是你想用注解就用注解的;

下面我還是貼一段代碼,BaseResultMap返回的是更多的result,而reulstType只返回一種類型;
resulstMap其實對應注解@Results,resultType對應的是@Result參考第二段代碼

  <resultMap id="BaseResultMap" type="XX.XXMatch">
    <id column="i_id" jdbcType="BIGINT" property="iId" />
    <result column="XX" jdbcType="VARCHAR" property="XX" />
    <result column="XX" jdbcType="VARCHAR" property="XX" />
    <result column="XX" jdbcType="VARCHAR" property="XX" />
    <result column="XX" jdbcType="VARCHAR" property="XX" />
    <result column="XX" jdbcType="TIMESTAMP" property="XX" />
    <result column="d_create_time" jdbcType="TIMESTAMP" property="dCreateTime" />
    <result column="d_update_time" jdbcType="TIMESTAMP" property="dUpdateTime" />
  </resultMap>
  <sql id="Base_Column_List">
    XX, XX, XX, XX, XX, XX, 
    d_create_time, d_update_time
  </sql>
  <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
    select 
    <include refid="Base_Column_List" />
    from ipps_face_match
    where i_id = #{iId,jdbcType=BIGINT}
  </select>
  <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
    delete from ipps_face_match
    where i_id = #{iId,jdbcType=BIGINT}
  </delete>
  <insert id="insert" parameterType="XX.XXMatch">
    insert into ipps_face_match (XX, XX, XX, 
      XX, XX, XX, 
      d_create_time, d_update_time)
    values (#{iId,jdbcType=BIGINT}, #{XX,jdbcType=VARCHAR}, #{XX,jdbcType=VARCHAR}, 
      #{XX,jdbcType=VARCHAR}, #{XX,jdbcType=VARCHAR}, #{XX,jdbcType=TIMESTAMP}, 
      #{dCreateTime,jdbcType=TIMESTAMP}, #{dUpdateTime,jdbcType=TIMESTAMP})
  </insert>
    @Insert("insert into t_alarm (index_code, happened_time, address,save_time)"
            + "values (#{indexCode}, #{happenedTime},#{address},#{saveTime})")
    @Options(useGeneratedKeys = true)
    int save(DeviceAlarm deviceAlarm);

    //因為返回的字段就是*,所以還是寫為*。如果查詢一部分字段,不能使用*
    @Select("select * from t_alarm order by id desc limit 3")
    @Results({
            @Result(id = true, column = "id", property = "id"),
            @Result(column = "index_code", property = "indexCode"),
            @Result(column = "happened_time", property = "happenedTime"),
            @Result(column = "address", property = "address"),
            @Result(column = "save_time", property = "saveTime"),
            // map-underscore-to-camel-case = true 可以實現一樣的效果
            // @Result(column = "update_time", property = "updateTime"),
    })
    ArrayList<DeviceAlarm> findTopAlarms();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM