Mybatis 开启自动驼峰命名

自述:

在没用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=男)

猜你喜欢

转载自blog.csdn.net/qq_42227281/article/details/106196685
今日推荐