有的时候不喜欢用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();

mybaits requestMap与requestType,以及对应的注解的更多相关文章

  1. 动态生成简约MVC请求接口|抛弃一切注解减少重复劳动吧

    背景 目前创建一个后端请求接口给别人提供服务,无论是使用SpringMVC方式注解,还是使用SpringCloud的Feign注解,都是需要填写好@RequestMap.@Controller.@Pa ...

  2. Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器

    关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...

  3. SSM框架整合的最新打开方式(打造最详细的SSM整合教程)

    SSM整合 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star!搜索关注微信公众号 [码出Offer] 领取各种学习资料! SSM 一.创建一个Maven项目 File ...

  4. springboot整合mybaits注解开发

    springboot整合mybaits注解开发时,返回json或者map对象时,如果一个字段的value为空,需要更改springboot的配置文件 mybatis: configuration: c ...

  5. mybaits拦截器+自定义注解

    实现目的:为了存储了公共字典表主键的其他表在查询的时候不用关联查询(所以拦截位置位于mybaits语句查询得出结果集后) 项目环境 :springboot+mybaits 实现步骤:自定义注解——自定 ...

  6. 8、Spring+Struts2+MyBaits(Spring注解+jdbc属性文件+log4j属性文件)

    一.注解理论 使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base- ...

  7. 关于mybaits的注解@Param

    一.含义 @param作为dao层的注解,为了解决多个参数时,参数类型不一致的问题. <select id="findEmpById" resultType="co ...

  8. mybaits的注解方式与配置文件方式比较

    注解方式比配置文件方式简单了更多. 俩种配置 一个是制定配置文件路径,一个直接class指向dao层接口 只需加一个注解@**** 就能够实现 比写一个xml的配置文件简单更多.

  9. mybaits注解

    基本的增删改 @Insert("insert into t_user values(null,#{username},#{password},#{account})") @Dele ...

随机推荐

  1. 【Python pymysql】

    " 目录 关于sql注入 用户存在,绕过密码 用户不存在,绕过用户与密码 解决sql注入问题 commit() 增 改 删 查询数据库 fetchone() fetchall() fetch ...

  2. Docker容器CPU限制选项测试

    目录 Docker容器CPU限制选项测试 参考 实验环境 --cpu-shares选项 测试 结论 --cpus选项 测试 结论 --cpuset-cpus选项 测试 结论 Docker容器CPU限制 ...

  3. JIT对锁的优化- 锁消除和锁粗化案例分析

    锁消除和锁粗化案例分析 锁消除 直接上代码 /** * 描述: 锁粒度演示 * @author karl * @create 2020-02-11 14:38 */ public class MySy ...

  4. Mybatic逆向工程的使用

    前言:利用别人的方法.知识.经历或精神成为你自己,不思考不实践不总结不反馈,就不会变成你的. 转载必须表明出处:https://www.cnblogs.com/fby698/p/9463831.htm ...

  5. gatling高性能测试工具

    使用mvn命令直接测试.  (loadrunner-----) 1.新建maven工程 2.在pom中导入依赖 <dependencies> <dependency> < ...

  6. np.multiply

    用法:np.multiply(x1,x2),作用:逐元素相乘,若x1和x2均为标量,则返回标量 x1=np.array([,,]) x2=np.array([,,]) np.multiply(x1,x ...

  7. ARG 构建参数----Dockerfle文件的重用

    ARG 构建参数----Dockerfle文件的重用 格式:ARG <参数名>[=<默认值>] 构建参数和 ENV 的效果一样,都是设置环境变量. 所不同的是,ARG 所设置的 ...

  8. ES6-const定义常量

    在es5中我们一般将变量名大写来表明这是一个常量,但其实它是可以修改的. 在es6中可以用const来定义常量,它定义的常量不能修改.     const NAME = 'tom';     NAME ...

  9. Cat4500升级注意事项

    第一部分:升级ROMMON 可以通过release note去查看什么Supervisor建议什么样的版本.例如:ROMMON Release Notes for the WS-X45-SUP7-E, ...

  10. 使用注解配置Servlet3.0

    从Servlet3.0开始支持使用注解来配置. 注解只是代替了一部分的web.xml的 配置,通常在针对单个Servlet的配置时(比如Servlet的资源名称)使用注解 web.xml:优势在于解决 ...