MySQL数据库干货_26——ORM编程思想
ORM简介
对象关系映射(英语:Object Relational Mapping,简称ORM,或O/R mapping)是一种为了解决面向对象语言与关系数据库存在的互不匹配的现象。
实体类
实体类就是一个定义了属性,拥有getter、setter、无参构造方法(基本必备)的一个类。实体类可以在数据传输过程中对数据进行封装,相当于一个“工具”、“容器”、“载体”,能存储、传输数据,能管理数据。
实体类特点:
- 实体类名,尽量和数据库中的表名一一对应
- 实体类中的属性对应数据库表中的字段,相关的命名最好也一一对应
- 实体类内方法主要有,getter、setter方法,用于设置、获取数据
- 实体类属性一般为private类型,方法为public类型
- 实体类应该有,无参、有参构造方法
ORM使用
Users实体类
public class Users {
private int userid;
private String userName;
private int userAge;
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserAge() {
return userAge;
}
public void setUserAge(int userAge) {
this.userAge = userAge;
}
@Override
public String toString() {
return userid+" "+userName+" "+userAge;
}
}
ORM映射
/**
* 通过ResultSet获取结果集测试类
*/
public class ResultSetTest {
/**
* 获取数据库中的数据
*/
public List<Users> selectUsersAll(){
Connection connection=null;
PreparedStatement preparedStatement=null;
ResultSet resultSet=null;
List<Users> list =new ArrayList<>();
try{
//与数据库获取连接
connection=JdbcUtils.getConnection();
//获取PrepareStatement对象
preparedStatement=connection.prepareStatement("select * from users");
//执行查询
resultSet = preparedStatement.executeQuery();
//操作ResultSet对象获取查询的结果集
while (resultSet.next()){
//获取列中的数据
int userid = resultSet.getInt(1);
String username = resultSet.getString(2);
int userage = resultSet.getInt(3);
//System.out.println(anInt+" "+string+" "+anInt1);
//使用ORM编程思想
Users users=new Users();
users.setUserid(userid);
users.setUserName(username);
users.setUserAge(userage);
list.add(users);
}
}catch (Exception e){
e.printStackTrace();
}finally {
JdbcUtils.closeResource(preparedStatement,connection,resultSet);
}
return list;
}
}