📄 dbutil.java
字号:
package com.newer.util;
import java.lang.reflect.Method;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Vector;
import com.newer.dao.ctxUtil;
public class DBUtil {
/*
* 通过传入的Bean对象以Vector集合返回表中所有的数据。
*/
public static Vector getAllData(String beanName){
Vector vc=new Vector();
//获取表名
String tableName=beanName.substring(beanName.lastIndexOf(".")+1,beanName.lastIndexOf("Bean"));
//获取连接对象
Connection con=ctxUtil.getConn();
//获取操作句柄
PreparedStatement pstmt=null;
//设置SQL语句
String sql="select * from "+tableName;
try{
//得到结果集
pstmt=con.prepareStatement(sql);
ResultSet rs=pstmt.executeQuery();
Class cls=Class.forName(beanName);
int count=0;
while(rs.next()){
Object obj=cls.newInstance();
//获取所有的方法名
Method [] method=cls.getDeclaredMethods();
//循环获取所有的方法
for(int i=0;i<method.length;i++){
//从方法中筛选出所有的SET方法。
if(method[i].getName().startsWith("set")){
//根据方法名获取属性
String attribName=method[i].getName().substring(3);
//从数据库中获取该列的值
Object value=rs.getObject(attribName);
if(value==null){
continue;
}
System.out.println(attribName+"---------"+value);
//执行该方法
method[i].invoke(obj, new Object[]{value});
}
}
//将从数据库中的一个实例的
vc.add(count++,obj);
}
//获取所有的属性值
//Method [] method=cls.getDeclaredMethods();
}catch(Exception ex){
ex.printStackTrace();
}
return vc;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -