JDBC資料庫連線池連線資料庫及資料庫操作DAO層設計通用更新及查詢方法(二)
阿新 • • 發佈:2018-11-01
上篇文章主要介紹了通過資料庫連線池連線資料庫,然後設計了對資料庫通用更新和查詢方法,本篇文章主要通過例項介紹上篇文章定義的對資料庫操作的幾個方法的使用:
首先我們先在資料庫建立一個學生資訊表Student欄位如圖:
建立好表將配置檔案的資訊改好然後需要建立一個和該表迴應的javabean類Student類:
package com.qy.entity; import java.util.Date; public class Student { /** * */ private String sid; //學號 private String sname; //姓名 private String ssex; //性別 private Date sbirthday; //出生年月 private String clazz; //班級 public Student() { super(); } public Student(String sid, String sname, String ssex, Date sbirthday, String clazz) { super(); this.sid = sid; this.sname = sname; this.ssex = ssex; this.sbirthday = sbirthday; this.clazz = clazz; } public String getSid() { return sid; } public void setSid(String sid) { this.sid = sid; } public String getSname() { return sname; } public void setSname(String sname) { this.sname = sname; } public String getSsex() { return ssex; } public void setSsex(String ssex) { this.ssex = ssex; } public Date getSbirthday() { return sbirthday; } public void setSbirthday(Date sbirthday) { this.sbirthday = sbirthday; } public String getClazz() { return clazz; } public void setClazz(String clazz) { this.clazz = clazz; } }
下面定義一個針對student表操作的方法:
//建立資料庫操作物件 DAO dao = new DAO(); //新增學生資訊 String sql = "insert into student (sid,sname,ssex,sbirthday,class) values (?,?,?,?,?)"; dao.updata(sql, "110","王五","男","1975-02-10","9533"); //修改學生資訊 sql = "update student set ssex=? where sid=?"; dao.updata(sql, "女","110"); //刪除學生資訊 sql = "delete from student where sid = ?"; dao.updata(sql, "112"); //查詢一條學生資訊 sql = "select sid,sname,ssex,sbirthday,class as clazz from student where sid=?"; Student stu = dao.getObject(Student.class, sql, "110"); System.out.println("---->"+stu); //查詢所有資訊 返回學生物件的集合 List<Student> list = dao.getObjectList(Student.class, "select sid,sname,ssex,sbirthday,class as clazz from student"); System.out.println(list);
這裡為了測試資料直接寫在引數裡,一般在開發的時候每個操作在封裝成一個方法,在方法裡定義該操作的SQL預編譯語句,然後通過前端提交過來的資料呼叫方法將對應的引數作為引數。要注意的是這裡的例項類必須符合JavaBean的規範,要有預設的構造方法,如果類的欄位名與表的欄位名不一樣在寫查詢語句是需要用到別名,別名與類的欄位名一致。