• 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())));
    

      

  • 相关阅读:
    LG gram 双系统全指南
    离散数学读书记录
    研究小报告:掺杂硅脂对处理器散热能力的影响
    SICP 课程总结 & 复习
    maxHeap 的 python 实现
    KDD Cup 2018 冠军团队 思路分享
    mergeSort, quickSort, shellSort 的 python 实现
    数据集-搜集
    【NOIP2018模拟赛】
    【NOIP2018 模拟】
  • 原文地址:https://www.cnblogs.com/achengmu/p/10910945.html
Copyright © 2020-2023  润新知