1. 程式人生 > >(5)面向物件編寫JDBC

(5)面向物件編寫JDBC

我們會用到前面的JDBCTools (連線,關閉資料庫的方法)

1.在mysql裡面建立一個名為student的資料庫 裡面有id(int) idcade(String) name(String)

在這裡插入圖片描述
2.在程式設計軟體中我們建立與之相對應的student類 : 資料封裝 , 構造 , toString

public class Student {
	// 與資料庫裡面的東西相對應
	//id的內容
	private int id;
	//身份證資訊
	private String idcade;
	//名字
	private String name;
	public int getId
() { return id; } public void setId(int id) { this.id = id; } public String getIdcade() { return idcade; } public void setIdcade(String idcade) { this.idcade = idcade; } public String getName() { return name; } public void setName(String name) { this.name = name; } //有引數構造器 點選 Source Generrate Constructor using Fields
public Student(int id, String idcade, String name) { super(); this.id = id; this.idcade = idcade; this.name = name; } //無參構造器 public Student() {} @Override public String toString() { return "Student [id=" + id + ", idcade=" + idcade + ", name=" + name + "]"; } }

<獲取單個物件>

//直接傳入sql語句 然後返回Student物件
private Student getStudent(String sql) { Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { Student stu = null; //後面的程式碼都是固定模式 conn = JDBCTools.getConnection(); String sql = "select * from student where id="+id; ps = conn.prepareStatement(sql); rs = ps.executeQuery(); if(rs.next()) { stu = new Student(rs.getInt(1),rs.getString(2), rs.getString(3)); } System.out.println(stu.toString()); }catch (SQLException e) { e.printStackTrace(); } finally { JDBCTools.release(rs, ps, conn); } return stu; }

<獲取所有物件> 用List接收

//獲得所有客戶資料
	public List<Student> getStudents() throws Exception
	{
		//建立List集合
		List<Student> students= new ArrayList<Student>();
		Student stu = null;
		Connection connection = null;
		Statement statement = null;
		ResultSet resultSet = null;
		
		try {
			connection = JDBCTools.getConnection();
			statement = connection.createStatement();
			resultSet = statement.executeQuery(sql);
			
			if(resultSet.next())
			{
				stu = new Student(resultSet.getInt(1),resultSet.getString(2),
						resultSet.getString(3));
						//把Student這個物件  放入List集合中
						students.add(stu);
			}
			
		} catch (Exception e) {
		}finally
		{
			JDBCTools.release(resultSet, statement, connection);
		}
		return students;
	}

		//自己隨機定義一個方法 我就不CP了
		//我們遍歷資料庫所有student的資訊  程式碼部分如下
		主類類名 xx = new 主類類名();
		List<Student> ss = xx.getStudents();
		for(Student s: ss)
		{
		System.out.println(s.toString());	
		}