zoukankan      html  css  js  c++  java
  • commons-dbutils 字段名称转换,支持驼峰字段名

    你能遇到的问题,只要是普遍存在的,大家都会遇到,那么,就一定有现成的解决方案.

    在阅读 commons-dbutils 的文档时, BeanHandler 的第二个参数可以达到这个目的.只需传入一个实现 RowProcessor 接口的对象. 比如说 BasicRowProcessor:

    User user = queryRunner.query(conn,sql,new BeanHandler<User>(
    User.class, new BasicRowProcessor());
    

      

    这样做还不够,你还没有告诉BasicRowProcessor怎样处理字段的映射关系,可以给 BasicRowProcessor 的构造函数传入一个BeanProcessor ,给这个BeanProcessor传入一个Map,指定数据库字段和bean字段的映射关系.

    Map<String,String> map = new HashMap<>(); 
    map.put("user_id","userId"); 
    User user = queryRunner.query(conn,sql,new BeanHandler<User>(
    User.class, new BasicRowProcessor(new BeanProcessor(map))));
    

      

    这样就可以将数据中的 user_id 映射到 bean 上的 userId 了.

    仔细阅读文档,发现官方已经贴心的为你设计好了一个类,专门干这种事的,叫做 GenerousBeanProcessor ,这下简单了,不再需要什么 map 了.只要你的数据库字段名称和bean中的字段名称除了下划线和大小写都一样的话,用它就可以转换:

    User user = queryRunner.query(conn,sql,new BeanHandler<User>(
    User.class, new BasicRowProcessor(new GenerousBeanProcessor())));
    

      

  • 相关阅读:
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    Java学习
    springboot之RabbitMQ
    IIS自动发布脚本
    存储器
  • 原文地址:https://www.cnblogs.com/achengmu/p/10910945.html
Copyright © 2011-2022 走看看