經過前幾篇的摸爬滾打,下面我們就開始我們真正的數據庫操作了,本篇重點在于如何在網站端編寫數據庫操作語句,內容不多,就是我們常見的增刪改查。
0、數據庫對象創建:
在javaSE基礎知識總結時,就為大家點明了,JAVA是一種面向對象編程語言,所以我們再進行數據庫創建之前,要先創建一個對象類。
/* * 實例化數據庫中的對象 */public class Student { PRivate int id;//學生ID private String name;//學生姓名 private int sex;//學生性別 private int year;//學生年齡 private String from;//學生故鄉 private String school;//學生所在學校 //為屬性添加set()、get()方法 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getSex() { return sex; } public void setSex(int sex) { this.sex = sex; } public int getYear() { return year; } public void setYear(int year) { this.year = year; } public String getFrom() { return from; } public void setFrom(String from) { this.from = from; } public String getSchool() { return school; } public void setSchool(String school) { this.school = school; }}
1、接口創建:
這里采用了面向接口編程,方便我們管理我們的數據庫操作方法。
/* * 數據庫操作方法接口 */public interface StudentMa { public boolean add(Student student);//添加 public boolean del(int id);//刪除 public boolean update(Student student);//修改 public Student getById(int id);//精確查詢 public List<Student> getByName(String name);//模糊查詢 public List<Student> getAll();//遍歷 }
2、增加操作:
如何通過JAVA語句為數據庫添加數據呢?下面就是具體的方法實現。
public boolean add(Student student) { boolean flag = false; Connection conn = null; PreparedStatement pst = null; conn = DBO.getConnection(); String sql = "insert into students (name,sex,year,from,school) values (?,?,?,?,?)";//'?'表示占位符 try { pst = conn.prepareStatement(sql); pst.setString(1, student.getName()); pst.setInt(2, student.getSex()); pst.setInt(3, student.getYear()); pst.setString(4, student.getFrom()); pst.setString(5, student.getSchool()); int n = pst.executeUpdate(); if(n>0){ flag = true; } } catch (SQLException e) { e.printStackTrace(); } return flag; }
3、刪除操作:
如何通過JAVA語句刪除數據庫中的數據呢?下面就是具體的方法實現。
public boolean del(int id) { boolean flag = false; Connection conn = null; PreparedStatement pst = null; conn = DBO.getConnection(); String sql = "delete from students where id="+id; try { pst = conn.prepareStatement(sql); int n = pst.executeUpdate(); if(n>0){ flag = true; } } catch (SQLException e) { e.printStackTrace(); } return flag; }
4、修改操作:
如何通過JAVA語句修改數據庫中的數據呢?下面就是具體的方法實現。
public boolean update(Student student) { boolean flag = false; Connection conn = null; PreparedStatement pst = null; conn = DBO.getConnection(); String sql = "update students set name=?,sex=?,year=?,from=?,school=? where id=?";//'?'表示占位符 try { pst = conn.prepareStatement(sql); pst.setString(1, student.getName()); pst.setInt(2, student.getSex()); pst.setInt(3, student.getYear()); pst.setString(4, student.getFrom()); pst.setString(5, student.getSchool()); pst.setInt(6, student.getId()); int n = pst.executeUpdate(); if(n>0){ flag = true; } } catch (SQLException e) { e.printStackTrace(); } return flag; }
5、查詢操作:
a、精確查詢:
如何通過JAVA語句精確查找數據庫中的數據呢?下面就是具體的方法實現。
public Student getById(int id) { Student student = new Student(); Connection conn = null; Statement st = null; ResultSet rs = null; conn = DBO.getConnection(); String sql = "select * from students where id="+id; try { st = conn.createStatement(); rs = st.executeQuery(sql); while(rs.next()){ student.setId(id); student.setName(rs.getString("name")); student.setSex(rs.getInt("sex")); student.setYear(rs.getInt("year")); student.setFrom(rs.getString("from")); student.setSchool(rs.getString("school")); } } catch (SQLException e) { e.printStackTrace(); } return student; }
b、模糊查詢:
如何通過JAVA語句模糊查找數據庫中的數據呢?下面就是具體的方法實現。
public List<Student> getByName(String name) { List<Student> list = null; Connection conn = null; PreparedStatement pst = null; ResultSet rs = null; conn = DBO.getConnection(); String sql = "select * from students where name like ?"; try { pst = conn.prepareStatement(sql); pst.setString(1, "%"+name+"%"); rs = pst.executeQuery(); while(rs.next()){ Student student = new Student(); student.setId(rs.getInt("id")); student.setName(rs.getString("name")); student.setSex(rs.getInt("sex")); student.setYear(rs.getInt("year")); student.setFrom(rs.getString("from")); student.setSchool(rs.getString("school")); list.add(student); } } catch (SQLException e) { e.printStackTrace(); } return list; }
6、遍歷操作:
如何通過JAVA語句遍歷數據庫中的數據呢?下面就是具體的方法實現。
public List<Student> getAll() { List<Student> list = new ArrayList<Student>(); Connection conn = null; Statement st = null; ResultSet rs = null; conn = DBO.getConnection(); String sql = "select * from students"; try { st = conn.createStatement(); rs = st.executeQuery(sql); while(rs.next()){ Student student = new Student(); student.setId(rs.getInt("id")); student.setName(rs.getString("name")); student.setSex(rs.getInt("sex")); student.setYear(rs.getInt("year")); student.setFrom(rs.getString("from")); student.setSchool(rs.getString("school")); list.add(student); } } catch (SQLException e) { e.printStackTrace(); } return list; }
好了到這里,關于數據庫的增刪改查操作的JAVA實現已經為大家總結完畢。下一篇select實現jsp頁面與數據庫交互。
新聞熱點
疑難解答