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();
mybaits requestMap与requestType,以及对应的注解的更多相关文章
- 动态生成简约MVC请求接口|抛弃一切注解减少重复劳动吧
背景 目前创建一个后端请求接口给别人提供服务,无论是使用SpringMVC方式注解,还是使用SpringCloud的Feign注解,都是需要填写好@RequestMap.@Controller.@Pa ...
- Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器
关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...
- SSM框架整合的最新打开方式(打造最详细的SSM整合教程)
SSM整合 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star!搜索关注微信公众号 [码出Offer] 领取各种学习资料! SSM 一.创建一个Maven项目 File ...
- springboot整合mybaits注解开发
springboot整合mybaits注解开发时,返回json或者map对象时,如果一个字段的value为空,需要更改springboot的配置文件 mybatis: configuration: c ...
- mybaits拦截器+自定义注解
实现目的:为了存储了公共字典表主键的其他表在查询的时候不用关联查询(所以拦截位置位于mybaits语句查询得出结果集后) 项目环境 :springboot+mybaits 实现步骤:自定义注解——自定 ...
- 8、Spring+Struts2+MyBaits(Spring注解+jdbc属性文件+log4j属性文件)
一.注解理论 使用注解来构造IoC容器 用注解来向Spring容器注册Bean.需要在applicationContext.xml中注册<context:component-scan base- ...
- 关于mybaits的注解@Param
一.含义 @param作为dao层的注解,为了解决多个参数时,参数类型不一致的问题. <select id="findEmpById" resultType="co ...
- mybaits的注解方式与配置文件方式比较
注解方式比配置文件方式简单了更多. 俩种配置 一个是制定配置文件路径,一个直接class指向dao层接口 只需加一个注解@**** 就能够实现 比写一个xml的配置文件简单更多.
- mybaits注解
基本的增删改 @Insert("insert into t_user values(null,#{username},#{password},#{account})") @Dele ...
随机推荐
- jmeter巧用自增长型变量
实现目的 在进行性能测试时,某些请求中的参数值并不允许被重复使用,比如账号的创建.开通授权等服务,这时就需要在jmeter中构造一些自增长型的变量,供后续请求使用,以解决参数值重复的问题. 脚本实现 ...
- vscode生成文件头注释(python)
文件→首选项→用户代码片段→选python 在大括号内添加如下内容: "Print infomation": { "prefix": "prelog& ...
- 安装rpm包时提示错误:依赖检测失败的解决方法
安装rpm包时提示错误:依赖检测失败 解决方法: 命令末尾加上--nodeps --force
- python代码在linux终端中执行报错:Unable to init server: Could not connect: Connection refused
python代码在linux终端中执行时报错: Unable to init server: Could not connect: Connection refused Unable to init ...
- 一文搞懂vim复制粘贴
转载自本人独立博客https://liushiming.cn/2020/01/18/copy-and-paste-in-vim/ 概述 复制粘贴是文本编辑最常用的功能,但是在vim中复制粘贴还是有点麻 ...
- ES6-形参默认值
在定义一个函数的时候,我们定义了几个函数的参数,但是在调用的时候我们可能并没有传入足够的参数,那么未被满足的参数的值就是undefined,在ES6中如果有这种情况我们可以给形参一个默认值,如果该形参 ...
- appium常用的类库、对应的方法和属性
1.driver.swipe(self, start_x, start_y, end_x, end_y, duration=None) tart_x - 滑动开始x轴坐标 start_y - 滑动开始 ...
- Numpy Pandas
数据分析 : 是把隐藏在一些看似杂乱无章的数据背后的信息提炼出来,总结出所研究对象的内在规律. 数据分析三剑客 - Numpy Pandas Matplotlib # Numpy 基于一维或多维的数 ...
- js下false情况
//为false的情况 false null NaN undefined "" 0
- jmh 微基准测试
选择依据:对某段代码的性能测试. 1.运行方法 mvn clean install java -jar target/benchmarks.jar JMHSample_02 -f 1 2.maven ...