您好,登錄后才能下訂單哦!
這篇文章主要介紹servlet的dao層如何寫,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
dao層:dao層叫數(shù)據(jù)訪問層,全稱為data access object,屬于一種比較底層,比較基礎(chǔ)的操作,具體到對(duì)于某個(gè)表、某個(gè)實(shí)體的增刪改查。
Dao層
先聲明一個(gè)接口類,類里聲明一些將會(huì)用的方法,
同一層內(nèi)寫一個(gè)實(shí)現(xiàn)這個(gè)接口類的類,重寫接口類里的方法
以實(shí)現(xiàn)Mybatis的寫法
方法主要是處理數(shù)據(jù)的方法;
public interface IStuClassDao { //全表查詢方法 public List findAllStuClassInfo(); //classID查詢 public Map<String, Object> findStuClassById(int classId) ; //增加方法 public void addStuClassById(Stuclass sc) ; //更新方法 public void updateStuClassById(Stuclass sc) ; //查詢方法 public String findClassNamesByIds(String ids); }
以對(duì)于user的操作為例進(jìn)行說明:
未實(shí)現(xiàn)Mybatis的寫法
AnimalDAO:
package DAO; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import util.JDBCUtil; import entry.Animal; /** * 對(duì)數(shù)據(jù)庫進(jìn)行操作 * @author dell- * */ public class AnimalDAO { //添加動(dòng)物信息 public void addAnimal(Animal animal){ //1建立連接 Connection conn= JDBCUtil.getConnection(); //2創(chuàng)建sql語句 String sql = "insert into animal (aid,aname,atime)values(?,?,?)"; //3創(chuàng)建sql執(zhí)行對(duì)象 PreparedStatement ps =null; try { ps=conn.prepareStatement(sql); ps.setInt(1, animal.getAid()); ps.setString(2, animal.getAname()); ps.setDate(3, new java.sql.Date(animal.getAtime().getTime())); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); }finally{ JDBCUtil.release(null,ps,conn); } } //查詢所有信息 public List<Animal> getAll(){ List<Animal> list = new ArrayList<Animal>(); //1連接數(shù)據(jù)庫 Connection conn = JDBCUtil.getConnection(); //2拼裝sql String sql="select * from animal"; //3創(chuàng)建sql執(zhí)行對(duì)象 PreparedStatement ps =null; ResultSet rs = null; try { ps = conn.prepareStatement(sql); rs=ps.executeQuery(); while(rs.next()){ Animal animal = new Animal(); animal.setAid(rs.getInt("aid")); animal.setAname(rs.getString("aname")); animal.setAtime(rs.getDate("atime")); list.add(animal); } } catch (SQLException e) { e.printStackTrace(); }finally{ JDBCUtil.release(rs, ps, conn); } return list; } //通過aid 刪除動(dòng)物信息 public void deleteAnimal(int aid){ //1建立數(shù)據(jù)庫連接 Connection conn = JDBCUtil.getConnection(); //2拼裝sql String sql = "delete from animal where aid=?"; //3創(chuàng)建sql執(zhí)行對(duì)象 PreparedStatement ps =null; try { ps = conn.prepareStatement(sql); ps.setInt(1, aid); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); }finally{ JDBCUtil.release(null, ps, conn); } } //通過aid修改動(dòng)物信息 public void updateAnimal(Animal animal){ //1建立連接 Connection conn = JDBCUtil.getConnection(); //2拼裝sql String sql = "update animal set aname=?,atime=? where aid=?"; //3創(chuàng)建sql執(zhí)行對(duì)象 PreparedStatement ps = null; try { ps = conn.prepareStatement(sql); ps.setString(1, animal.getAname()); ps.setDate(2, new java.sql.Date(animal.getAtime().getTime())); ps.setInt(3, animal.getAid()); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); }finally{ JDBCUtil.release(null, ps, conn); } } public Animal getAnimalByid(int aid){ //1鏈接數(shù)據(jù)庫 Connection conn= JDBCUtil.getConnection(); //2創(chuàng)建sql語句 String sql = "select * from animal where aid=?"; //3創(chuàng)建sql執(zhí)行對(duì)象 PreparedStatement ps = null; ResultSet rs = null; try { ps = conn.prepareStatement(sql); ps.setInt(1, aid); rs = ps.executeQuery(); if(rs.next()){ Animal animal = new Animal(); animal.setAid(rs.getInt("aid")); animal.setAname(rs.getString("aname")); animal.setAtime(rs.getDate("atime")); return animal; } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ JDBCUtil.release(rs, ps, conn); } return null; } }
以上是servlet的dao層如何寫的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。