ORM原理(对象关系映射)
表结构与类对应
表中字段和类属性对应
表中记录和对象对应
表中一条记录可以封装到Object数组,map或javabean对象
javabean的属性名和类型尽量和数据库一致。
这里实现将将表中记录封装到javabean对象内。
首先数据库结构图:
然后建立一个类对应emp表:
public class Emp {
private Integer id;
private String empname;
private double salary;
private Date birthday;
private Integer age;
public Emp() {//必须要有空构造器
}
public Emp(String empname, double salary, Integer age) {//构造函数按照后面的操作构建
this.empname = empname;
this.salary = salary;
this.age = age;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmpname() {
return empname;
}
public void setEmpname(String empname) {
this.empname = empname;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
然后读取数据库表中的数据,并封装成java bean对象,放在一个list内
省略的步骤:数据库的连接,详细见(JDBC:封装工具包,读取配置文件)一文。
public class Demo03 {
public static void main(String[] args) {
Connection conn=JDBCUtil.getMysqlConn();
PreparedStatement ps=null;
ResultSet rs=null;
Emp emp=null;
List<Emp> list=new ArrayList<>();//使用list装入java bean存储多条数据
try {
ps=conn.prepareStatement("select empname,salary,age from emp ");
rs=ps.executeQuery();
while(rs.next()){
emp=new Emp(rs.getString(1),rs.getLong(2),rs.getInt(3));//这儿调用任意的Emp构造函数,按照select的数据的格式
list.add(emp);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtil.close(rs,ps,conn);
}
for (Emp e:list){
System.out.println(""+e.getEmpname()+"\t"+e.getAge()+"\t"+e.getSalary());}
}
}