jdbc全部链接数据库

JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力

JDBC 驱动作用:负责连接各种不同的数据库  优点:完全Java代码,快速、跨平台  缺点:访问不同的数据库需要下载专用的

常用的类: DriverManager 类    作用:依据数据库的不同,管理JDBC驱动

常用接口Connection接口作用:负责连接数据库并担任传送数据的任务 

Statement接口   作用: 由 Connection 产生、负责执行SQL语句

ResultSet接口  作用 :负责保存Statement执行后所产生的查询结果

1.加载JDBC驱动                2.与数据库建立连接 3.创建Statement或PreparedStatement对象 4.发送SQL语句,并得到返回结果 5.处理返回结果                               6.释放资源

查询所有数据库的方法


public static <T> List<T> getQuery(Class<T> clazz, String sql, Object... args) {

Connection connection = null;
PreparedStatement pstm = null;
ResultSet resultSet = null;

try {
//1.连接数据库
connection = JDBCUtil.getConnection();
//2.编写SQL
//3.预编译SQL
pstm = connection.prepareStatement(sql);
//4.填充占位符
for (int i = 0; i < args.length; i++) {
pstm.setObject((i + 1), args[i]);
}

//5.执行操作
resultSet = pstm.executeQuery();

//6判断是否有值,然后打印

//创建一个元数据类型接收返回值
ResultSetMetaData metaData = resultSet.getMetaData();

//获取表中具体列数
int count = metaData.getColumnCount();


List<T> list = new ArrayList<T>();

while (resultSet.next()) {

T t = clazz.newInstance();//等同于 Student student = new Student();

for (int i = 0; i < count; i++) {
//获取对应的字段值
Object value = resultSet.getObject((i + 1));
//获取到对应字段的别名
String label = metaData.getColumnLabel((i + 1));
//获取到对应的字段
Field field = clazz.getDeclaredField(label);
//设置可以自己设置值的权限
field.setAccessible(true);
//将值装配给对象
field.set(t, value);

}
list.add(t);
}
return list;

} catch (Exception e) {
e.printStackTrace();
} finally {
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}

}

return null;
}

jdbc全部链接数据库

上一篇:Oracle数据库故障处理方法


下一篇:6css