JDBC工具
import java.io.IOException;
import java.lang.reflect.Field;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.concurrent.RunnableScheduledFuture;
public class TestJdbc {
private static final String URL="jdbc:mysql://localhost:3306/mydb";
private static final String USERNAME="root";
private static final String PASSWORD="123456";
// static {
// Properties p = new Properties();
// try {
// p.load(Thread.currentThread().getContextClassLoader()
// .getResourceAsStream("a.txt"));
// } catch (IOException e1) {
// e1.printStackTrace();
// }
// URL = p.getProperty("URL");
// USERNAME = p.getProperty("USERNAME");
// PASSWORD = p.getProperty("PASSWORD");
//}
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static<T> List<T> excetuR(String sql,Class<T> cls){
Connection coon = null; //初始化连接
Statement st=null;
ResultSet rs = null; //初始化结果集
List<T> ls=new ArrayList<T>(); //创建默认类型的集合
T o =null; //初始化集合
try {
coon = DriverManager.getConnection(URL, USERNAME, PASSWORD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
st = coon.createStatement();
} catch (SQLException e) {
e.printStackTrace();
}
try {
rs = st.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while (rs.next()) {
try {
o= cls.newInstance();//创建空构造函数的对象
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Field [] fs = cls.getDeclaredFields();//通过反射得到所有的属性放入属性的集合
for (Field f : fs) { //遍历属性集合
f.setAccessible(true);//给私有属性直接赋值
try {
f.set(o, rs.getObject(f.getName()));//设置属性的各个字段
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ls.add(o);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return ls;
}

浙公网安备 33010602011771号