JavaWeb课程复习资料(六)——DAO与DAOImpl层封装
生活随笔
收集整理的這篇文章主要介紹了
JavaWeb课程复习资料(六)——DAO与DAOImpl层封装
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
承接上文:JavaWeb課程復(fù)習(xí)資料(五)——配置Tomcat
目錄
1、DAO層
2、DAOImpl層
1、DAO層
DAO層是接口層,故而需要使用【interface】修飾
源碼如下:
package com.item.dao;import com.item.pojo.UserInfo;import java.util.List;public interface UserInfoDAO {/*** 查詢所有用戶信息* @return*/public List<UserInfo> GetAll();/*** 添加用戶* @param info* @return*/public boolean InsertUserInfo(UserInfo info);/*** 單個ID查詢* @param id* @return*/public UserInfo SelectById(int id);/*** 修改用戶信息* @param info* @return*/public boolean UpdateById(UserInfo info);/*** 根據(jù)id刪除用戶* @param id* @return*/public boolean DeleteById(int id); }2、DAOImpl層
DAOImpl屬于實(shí)現(xiàn)層,故而通過【】實(shí)現(xiàn)DAO層對應(yīng)接口即可
編碼過程中可以看到注釋也是很完整的。
源碼如下:
package com.item.daoimpl;import com.item.dao.UserInfoDAO; import com.item.jdbc.FactoryDB; import com.item.pojo.UserInfo;import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedList; import java.util.List;public class UserInfoDAOImpl implements UserInfoDAO {Connection conn = null;PreparedStatement pre = null;ResultSet res = null;@Overridepublic List<UserInfo> GetAll() {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("select * from userinfo");res = pre.executeQuery();List<UserInfo> list = new LinkedList<UserInfo>();while (res.next()) {list.add(new UserInfo(res.getInt(1),res.getDate(2),res.getString(3),res.getString(4)));}FactoryDB.Close(conn, pre, res);return list;} catch (SQLException e) {e.printStackTrace();}return null;}@Overridepublic boolean InsertUserInfo(UserInfo info) {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("INSERT INTO userinfo VALUES (0,NOW(),?,?);");pre.setString(1, info.getUserName());pre.setString(2, info.getIntroduce());int isf = pre.executeUpdate();FactoryDB.Close(conn, pre, res);return isf != -1;} catch (SQLException e) {e.printStackTrace();}return false;}@Overridepublic UserInfo SelectById(int id) {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("select * from userinfo where id=?");pre.setInt(1, id);res = pre.executeQuery();//判斷查詢結(jié)果是否為空if (res.wasNull()) {return null;}UserInfo u=null;while (res.next()) {u = new UserInfo(res.getInt(1), res.getDate(2), res.getString(3), res.getString(4));}FactoryDB.Close(conn, pre, res);return u;} catch (SQLException e) {e.printStackTrace();}return null;}@Overridepublic boolean UpdateById(UserInfo info) {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("update userinfo set userName=?,introduce=? where id=?");pre.setString(1, info.getUserName());pre.setString(2, info.getIntroduce());pre.setInt(3, info.getId());int isf = pre.executeUpdate();FactoryDB.Close(conn, pre, res);return isf != -1;} catch (SQLException e) {e.printStackTrace();}return false;}@Overridepublic boolean DeleteById(int id) {try {conn = FactoryDB.GetConnection();pre = conn.prepareStatement("delete from test.userinfo where id=?");pre.setInt(1, id);int isf = pre.executeUpdate();FactoryDB.Close(conn, pre, res);return isf != -1;} catch (SQLException e) {e.printStackTrace();}return false;} }到此DAO與DAOImpl層封裝完畢。
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的JavaWeb课程复习资料(六)——DAO与DAOImpl层封装的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaWeb课程复习资料(四)——创建
- 下一篇: JavaWeb课程复习资料(八)——添加