ORM思想--以面向对象的方式使用JDBC

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();
	}  
}

运行结果

猜你喜欢

转载自blog.csdn.net/AirTrioa/article/details/83116500
今日推荐