一、表与类的关系
①整个表可以当做是一个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 查询数据,并封装成对象,存入一个集合中
配置文件路径
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();
}
}
}
}
}