自述:
在没用springboot之前,我们通常有很多配置,相比于springboot来说的话,开发效率其实是大打折扣的,springboot 好处自然不必多说,但我用过springboot后整合mybatis时,又一次发现一种偷懒的写法,那就是Mybatis的注解sql。哈哈,虽然是偷懒了,但是功能一样不少
注解sql样例
/**
* 新增
* @param sysUser 实体类
* @return true/false
*/
@Insert("insert into sys_user(" +
"name,\n" +
"user_age,\n" +
"user_six)" +
"values(" +
"#{name},\n" +
"#{user_age},\n" +
"#{user_six})")
boolean insert(SysUser sysUser);
是不是比xml格式 又省了很多东西。但是有一个缺点就是,查询的时候pojo定义的驼峰格式的字段如果不手写别名,值很大概率是赋不上的,比如下面的语句
Id查询为例
/**
* id查询
* @param id 主键
* @return SysUser
*/
@Select("select * from sys_user where id = #{id}")
SysUser findById(Integer id);
输出结果
SysUser(id=1, name=王文龙, userAge=0, userSix=null)
手动起别名
/**
* id查询
* @param id 主键
* @return SysUser
*/
@Select("select id,name,user_age userAge,user_six userSix from sys_user where id = #{id}")
SysUser findById(Integer id);
输出结果
SysUser(id=1, name=王文龙, userAge=26, userSix=男)
显然给所有字段起别名是比较烦的一步操作,字段量少的时候还可以,字段多的时候就相对来说浪费电时间了。可以通过配置的问题解决这一问题
在application.properties配置文件里加上以下配置
mybatis.configuration.map-underscore-to-camel-case=true
sql语句改成 select *
/**
* id查询
* @param id 主键
* @return SysUser
*/
@Select("select * from sys_user where id = #{id}")
SysUser findById(Integer id);
输出结果
SysUser(id=1, name=王文龙, userAge=26, userSix=男)