jdbc entityUtils.java

一、首字母大写

二、数据库中使用 “_ ”方式  ,java中使用驼峰式命名

三、使用ResultSetMetaData 来获取ResultSet对象中的每个属性列的信息

四、使用BeanUtils来设置某个对象的属性的值

package utils;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import org.apache.commons.beanutils.BeanUtils;

import org.apache.commons.lang3.StringUtils;

public class EntityUtils {

/**

 * 把结果集中的数据填充到对象中

 * 

 * @param rs

 * @param obj

 */

public static void fillEntity(ResultSet rs, Object obj) throws Exception {

/**

 * 想办法知道查询的结果里有多少列,列名是什么

 * 返回结果集的元数据, 元数据中包含有查询得到的

 */

ResultSetMetaData rsmd = rs.getMetaData();

for (int i = 1; i <= rsmd.getColumnCount(); i++) {

// 获得列名,列的类型等信息

String columnName = rsmd.getColumnName(i);

Object columnValue = rs.getObject(columnName);

// 将获得的列名转化为对象对应的成员变量名   注意数据库列名和类对象成员变量的对应关系

String propertyName = toCamel(columnName);

if (columnValue != null) {

// 给成员变量赋值

BeanUtils.setProperty(obj, propertyName, columnValue);

}

}

}


/**

 * 把下划线的命名变成驼峰命名方式

 * 

 * @param name

 * @return

 */

private static String toCamel(String name) {

name = name.toLowerCase();

String[] arr = name.split("_");

String camelName = arr[0];

if (arr.length > 1) {

for (int i = 1; i < arr.length; i++) {

// StringUtils.capitalize(String str)将首字母大写

camelName += StringUtils.capitalize(arr[i]);

}

}

return camelName;

}


}


你可能感兴趣的:(数据库,object,import,package,public)