commons-dbutils 字段名稱轉換,支持駝峯字段名

你能遇到的問題,只要是廣泛存在的,你們都會遇到,那麼,就必定有現成的解決方案.sql

在閱讀 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中的字段名稱除了下劃線和大小寫都同樣的話,用它就能夠轉換:code

User user = queryRunner.query(conn,sql,new BeanHandler<User>(
User.class, new BasicRowProcessor(new GenerousBeanProcessor())));
相關文章
相關標籤/搜索