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;
}
}
浙公網安備 33010602011771號