package it_casit_03;
import java.sql.*;
import java.util.ArrayList;
/*
定义一个方法将查询的结果封装为对象,在将对象返回到集合中
*/
public class JDBC_Demo {
public static void main(String[] args) {
//调用方法
ArrayList<Emp> list = getAll();
for (Emp A : list) {
System.out.println(A);
}
}
public static ArrayList<Emp> getAll() {
Connection conn = null;
Statement stat = null;
ArrayList<Emp> list = null;
try {
//第一步: 注册驱动
Class.forName("com.mysql.jdbc.Driver");
//获取连接数据库对象
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/bb8", "root", "123");
//获取执行操作SQL语句的对象
stat = conn.createStatement();
//创建SQL查询语句
String s = "SELECT * FROM emp";
//执行SQL语句
ResultSet resultSet = stat.executeQuery(s);
//遍历ResultSet结果集 ,定义bb8表类
Emp b = null;
//创建集合
list = new ArrayList<>();
while (resultSet.next()) {//此方法返回的是一个布尔值,当返回到最后一行的末尾的时候,返回值为false,即循环结束
//获取当前行所有的数据
int empno = resultSet.getInt("EMPNO");
String ename = resultSet.getString("ENAME");
String job = resultSet.getString("JOB");
int mgr = resultSet.getInt("MGR");
Date hiredate = resultSet.getDate("HIREDATE");
int sal = resultSet.getInt("SAL");
int comm = resultSet.getInt("COMM");
int deptno = resultSet.getInt("DEPTNO");
//创建对象,并为成员变量赋值
b = new Emp();
b.setEmpno(empno);
b.setEname(ename);
b.setJob(job);
b.setMga(mgr);
b.setHiredate(hiredate);
b.setSal(sal);
b.setComm(comm);
b.setDepton(deptno);
list.add(b);
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
//释放资源
//防止空指针异常,判断后执行
if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
return list;
}
}