zoukankan      html  css  js  c++  java
  • mybatis——解决属性名和数据库字段名不一致问题(注解方式)

    当我们使用注解开发时有时会遇到数据库字段名与实体类属性名不一致的问题。xml方式开发可以通过结果集映射的方式解决,那注解方式开发要怎么解决呢?

    注解解决方式:

    @Results()注解

    Results注解中有两个常用的参数,一个是id,另一个是value。

    id:这个参数的主要作用在于唯一标记这个Results注解,如果接口中的其他抽象方法也需要通过result注解来解决属性名和数据库字段名不一致问题,那么重新写一个Results注解就太麻烦了,这时我们就可以通过@ResultMap()注解中传入Results注解的参数id来引用Results注解中的内容。举例:

    public interface UserMapper {
        @Select("select * from user")
        @Results(id="aaa",value={
                @Result(id=true,column = "id",property = "userId"),
                @Result(column = "name",property = "userName"),
                @Result(column = "age",property = "userAge")
        })
        List<User> getUsers();
    
    
        @Select("select count(id) from user")
        @ResultMap(value={"aaa"})
        int findTotalUser();
    }
    代码示例

    value:这个参数用于建立实体类与数据库表的映射关系,其中可以填写多个@Result注解,用来将实体类的属性名和数据库字段名一一对应。需要注意如果是主键字段,@Result注解中需要设置id=true。具体例子参考上边提供的代码。

  • 相关阅读:
    float
    老师的通病
    无题
    BufferedReader
    剩余定理
    ActionScript 多图加载 按图顺序索引
    C++ Socket 编程
    设计高可用和高负载的网站系统
    提高网站速度的最佳实践【翻译】
    把哈希表存储到数据库中
  • 原文地址:https://www.cnblogs.com/bear7/p/13234390.html
Copyright © 2011-2022 走看看