java – MyBatis列映射

前端之家收集整理的这篇文章主要介绍了java – MyBatis列映射前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用MyBatis 3.0.3并且有问题:数据库中的一些列具有带下划线的名称,这些列应映射到实体属性(当然在camelCase中)
class User {
  private String first_name;
  ...
}

public interface UserDao {
  @Select("SELECT * FROM users")
  List<User> findAllUsers();
}

不幸的是我看不到任何办法解决这个声明(像在JPA – @Column(name =“first_name”)中完成).
我可以在select子句中为这样的列创建别名(以firstName作为firstName等等),但是也看起来很跛脚.

有任何想法吗?谢谢.

解决方法

感谢DwB.这有助于
@Select("SELECT * FROM users")
    @Results({
        @Result(property = "firstName",column = "first_name"),@Result(property = "lastName",column = "last_name")
    })
    List<User> findUsers();

ps但是在多个查询的情况下,我需要为返回实体用户的每个方法的@ Result / @ Result代码进行样板.在我的情况下,会有很少的地方,所以这不是一个问题,但一般来说,我仍然希望找到更一般的解决方案.

猜你在找的Java相关文章