ORM(Object Relationship Mapping)的基本思想
– 表结构跟类对应; 表中字段和类的属性对应;表中记录和对象对应;
– 让javabean的属性名和类型尽量和数据库保持一致!
– 一条记录对应一个对象。将这些查询到的对象放到容器中(List,Set,Map)
• 将表中的一条记录封装到Object数组中
• 将表中的一条记录封装到map中
• 将表中一条记录封装到javabean对象中
例子: 以orm方式来操作数据库
package cn.njit.orm;
public class Products {
private int pid;
private String pname;
private double price;
private int categoryId;
public Products() {
}
public Products(int pid,String pname,double price,int categoryId) {
super();
this.pid=pid;
this.pname=pname;
this.price=price;
this.categoryId=categoryId;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getCategoryId() {
return categoryId;
}
public void setCategoryId(int categoryId) {
this.categoryId = categoryId;
}
public String toString() {
return pname+"-"+price;
}
}
----------------------------------------------------------------------
package cn.njit.orm;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import util.C3P0Utils;
public class ProductUtil {
private static Connection conn;
static {
try {
conn=C3P0Utils.getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
}
void selectAll() {
String sql="Select * from products";
PreparedStatement psmt;
try {
psmt = conn.prepareStatement(sql);
ResultSet rs=psmt.executeQuery();
System.out.println("查询全部:");
while(rs.next()) {
String pid=rs.getString("pid");
String pname=rs.getString("pname");
Double price=rs.getDouble("price");
System.out.println(pid+"-"+pname+"-"+price);
}
System.out.println("查询结束");
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
void closeAll() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
----------------------------------------------------------------------------
package cn.njit.orm;
public class TestORM {
public static void main(String[] args) {
ProductUtil pu = new ProductUtil();
pu.selectAll();
pu.closeAll();
}
}