common dbutils 笔记

Dbutil是一个非常小的类包, 无需花费太多时间去阅读它的doc, 核心类(接口)为QueryRunner 和ResetSetHandler。

ResetSetHandler 的实现类有很多种, 涉及数组, map , javabean, 等等, 所有的实现类都接受一个RowProcessor类型的参数来实现数据列向对象的转化。其中RowProcessor的默认实现类为BasicRowProcessor, 用户也可以自己实现RowProcessor。
BasicRowProcessor使用BeanProcessor来完成ResultSet中的值向JavaBean的映射。前提要求列名和bean属性名必须一致。

但是在大部分情况下,数据库的列名中常含有一个些特殊字符,这些字符在java命名规约中又不能使用,针对上述情况,有如下2种解决办法:
1)SQL语句中使用as 。 如 select Na#me as name;
2) 继承BeanProcessor并覆盖mapColumnsToProperties()以便跳过那些违背java命名规约的字符。


BeanProcessor.java

public Object toBean(ResultSet rs Class type) {
            
//确定column要转化成的类型,并以数组形式存储。
mapColumnToProperties();
//组装bean并返回
createBean() {
  
    // 依照前面数组中存储的形式,将column进行相应的转化
    processColumn()

    //运用反射 设值
    callSetter()

}
         
}

你可能感兴趣的:(sql,bean)