搞懂表与类的关系(学会并使用day9)

一、表与类的关系

①整个表可以当做是一个java类;
②每一个表中的字段,当做是java类中的成员变量;
③表的一行数据,当做是java类的一个实例对象。

1.创建表并插入数据

CREATE TABLE IF NOT EXISTS employee(
id int(11) auto_increment PRIMARY key,
name VARCHAR(22),
age int(4),
money int(20)
);

INSERT into employee VALUES(null,"张三",20,3650);
INSERT into employee VALUES(null,"李四",30,4502);
INSERT into employee VALUES(null,"王五",30,3650);
INSERT into employee VALUES(null,"麻子",50,8885);
INSERT into employee VALUES(null,"小红",20,4445);

2.查询表中数据

在这里插入图片描述

二、案例演示

1.创建一个Employee类

public class Employee {
    private int id;
    private String name;
    private int age;
    private int money;

    public Employee() {
    }

    public Employee(int id, String name, int age, int money) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.money = money;
    }

    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 int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getMoney() {
        return money;
    }

    public void setMoney(int money) {
        this.money = money;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", age=" + age +
                ", money=" + money +
                '}';
    }
}

2、PreparedStatement

使用 PreparedStatement 查询数据,并封装成对象,存入一个集合中

配置文件路径

g)](https://img-blog.csdnimg.cn/9f9f37d2fbff43359202b2769f45004e.png)

public class demo1 {
    public static void main(String[] args) throws ClassNotFoundException {
        //ResourceBundle.getBundle("config/jdbc") 是一个用于获取 Java 属性资源文件的方法。
        // 在这个方法中,config/jdbc 是一个属性文件的路径,表示要获取的资源文件,可以不写后缀。
        ResourceBundle rb=ResourceBundle.getBundle("config/jdbc");
        //注册驱动
        Class.forName(rb.getString("Driver"));
        //创建连接
        Connection con = null;
         //创建PreparedStatement对象
        PreparedStatement pre = null;
        //创建查询结果集对象
        ResultSet rs = null;
        //创建一个集合,用于存储对象
        List<Employee> list= new ArrayList<>();
        try {//通过工具类获取连接
            con= DriverManager.
                    getConnection(rb.getString("url"),rb.getString("user"),rb.getString("password"));
           //准备执行的sql语句
            String sql = "select * from employee";
            //通过连接对象得到语句对象
            pre = con.prepareStatement(sql);
           //执行sql语句,得到结果集
            rs = pre.executeQuery(sql);
           //创建员工类对象
            Employee emp=null;
            //遍历结果集
            while (rs.next()){
                emp = new Employee();
                //向员工对象插入值
                emp.setId(rs.getInt("id"));
                emp.setName(rs.getString("name"));
                emp.setAge(rs.getInt("age"));
                emp.setMoney(rs.getInt("money"));
                list.add(emp);
            }
            //打印这些对象
            System.out.println(list);
            System.out.println("操作完成!");
        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }finally {
           //关闭所有流
            try {
                pre.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }

        if (con != null) {
            try {
                con.close();
            } catch (SQLException throwables) {
                throwables.printStackTrace();
            }
        }
        }
    }
}

3.执行结果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yjg_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值