要求:定义一个方法,查询emp表的数据将其封装为对象,然后装载集合,返回。

实现方法:

    1.定义Emp类

    2.定义方法 public List<Emp> findAll(){}

    3.实现方法 select * from emp;

案例:

定义Emp类:
package cn.itcast.domain;
 
import java.util.Date;
 
/*
    对应封装emp表数据的JavaBean
 */
public class Emp {
    private int id;
    private String name;
    private String gender;
    private double salary;
    private Date join_date;
    private int dept_id;
 
    @Override
    public String toString() {
        return "Emp{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", gender='" + gender + '\'' +
                ", salary=" + salary +
                ", join_date=" + join_date +
                ", dept_id=" + dept_id +
                '}';
    }
 
    public int getId() {
        return id;
    }
 
    public void setId(int id) {
        this.id = id;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getGender() {
        return gender;
    }
 
    public void setGender(String gender) {
        this.gender = gender;
    }
 
    public double getSalary() {
        return salary;
    }
 
    public void setSalary(double salary) {
        this.salary = salary;
    }
 
    public Date getJoin_date() {
        return join_date;
    }
 
    public void setJoin_date(Date join_date) {
        this.join_date = join_date;
    }
 
    public int getDept_id() {
        return dept_id;
    }
 
    public void setDept_id(int dept_id) {
        this.dept_id = dept_id;
    }
}



使用Emp类
package cn.itcast.jbdc;
 
import cn.itcast.domain.Emp;
 
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
 
/*
    定义一个方法,查询emp表的数据将其封装为对象,然后装载集合,返回。
 */
public class JDBCDemo06 {
    public static void main(String[] args) {
        List<Emp> list = new JDBCDemo06().findAll();
        for (Emp emp : list) {
            System.out.println(emp);
        }
    }
 
    /*
        查询所有emp对象
     */
    public List<Emp> findAll(){
        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        List<Emp> list = null;
        try {
            //1.注册驱动
            Class.forName("com.mysql.jdbc.Driver");
            //2.获取连接
            conn = DriverManager.getConnection("jdbc:mysql:///bd3", "root", "root");
            //3.定义sql
            String sql = "select * from emp";
            //4.获取执行sql对象
            stmt = conn.createStatement();
            //5.执行sql
            rs = stmt.executeQuery(sql);
            //6.遍历结果集,封装对象,装载集合
            Emp emp = null;
            list = new ArrayList<Emp>();
            while (rs.next()){
                //获取数据
                int id = rs.getInt("id");
                String name = rs.getString("name");
                String gender = rs.getString("gender");
                double salsry = rs.getDouble("salary");
                Date join_date = rs.getDate("join_date");
                int dept_id = rs.getInt("dept_id");
                //创建emp对象,并赋值
                emp = new Emp();
                emp.setId(id);
                emp.setName(name);
                emp.setGender(gender);
                emp.setSalary(salsry);
                emp.setJoin_date(join_date);
                emp.setDept_id(dept_id);
 
                //装载集合
                list.add(emp);
            }
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            if (rs != null){
                try {
                    rs.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (stmt != null){
                try {
                    stmt.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
            if (conn != null){
                try {
                    conn.close();
                } catch (SQLException e) {
                    e.printStackTrace();
                }
            }
        }
        return list;
    }
}

Emp{id=1, name='张三', gender='男', salary=1800.0, join_date=2019-08-23, dept_id=1}
Emp{id=2, name='李四', gender='男', salary=3800.0, join_date=2025-02-23, dept_id=1}
Emp{id=3, name='王五', gender='女', salary=1800.0, join_date=2019-08-23, dept_id=2}
Emp{id=4, name='麻六', gender='男', salary=2800.0, join_date=2010-07-23, dept_id=3}
Emp{id=5, name='田七', gender='女', salary=3800.0, join_date=2014-08-23, dept_id=1}