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

      

  • 相关阅读:
    204. Count Primes (Integer)
    203. Remove Linked List Elements (List)
    202. Happy Number (INT)
    201. Bitwise AND of Numbers Range (Bit)
    200. Number of Islands (Graph)
    199. Binary Tree Right Side View (Tree, Stack)
    198. House Robber(Array; DP)
    191. Number of 1 Bits (Int; Bit)
    190. Reverse Bits (Int; Bit)
    189. Rotate Array(Array)
  • 原文地址:https://www.cnblogs.com/achengmu/p/10910945.html
Copyright © 2011-2022 走看看