Java中数据库进行jdbc连接怎莫进行连接封装
和释放呢?我们以学生管理系统为例:
话不多说,看秦哥直接上代码:
public class StudentDao {
//学生对象数据库访问层
//查询学生所有信息
//运用集合,先把查询到的信息放入到集合里面
public ArrayList<StudentEntity> allstudent() throws ClassNotFoundException, SQLException{
Connection connection = null;
Statement statement = null;
ResultSet resultSet = null;
try {
//java连接数据库
//导入mysql驱动jar包
//注册驱动javase反射机制 class.forName()
Class.forName("com.mysql.cj.jdbc.Driver");
//获取数据库的连接
Connection connection1=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/student?serverTimezone=UTF-8","root","123");
//获取执行者对象
Statement statement1=connection1.createStatement();
//执行sql语句并返回结果
String sql="select * from student";
ResultSet resultSet1=statement1.executeQuery(sql);
ArrayList<StudentEntity> studentEntities = new ArrayList<>();
//对结果进行处理
while(resultSet.next())
{
// 获取该行数据的第一列 id
Long id = resultSet1.getLong("id");
// 获取该行数据的第二列 name
String name = resultSet1.getString("name");
// 获取该行数据的第三列 age
Integer age = resultSet1.getInt("age");
// 获取该行数据的第四列 address
String address = resultSet1.getString("address");
// 将db中查询到数据封装成java学生对象
//注意这个,这就是封装里面的内容哦
//将这个里面的对象和一些值 传递过来 这就是传参 这个非常重要
StudentEntity studentEntity = new StudentEntity(id, name, age, address);
// 将该对象存入到集合中
studentEntities.add(studentEntity);
}
return studentEntities;
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
// 7. 释放jdbc资源
try {
if (resultSet != null)
resultSet.cl