ImageVerifierCode 换一换
格式:DOCX , 页数:49 ,大小:32.57KB ,
资源ID:7101124      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7101124.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书管理系统增删查改jspservlet基础项目BaseDao.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书管理系统增删查改jspservlet基础项目BaseDao.docx

1、图书管理系统增删查改jspservlet基础项目BaseDao这是图书管理系统的课后作业 增删查改 BaseDao jsp提交到servletBaseDao.java 数据库操作通用类package combook.dao;import java.sql.*;import .dao.util.ConfigManager;import common.*;public class BaseDao /数据库操作通用类 protected Connection conn; /*定义静态变量接收加载驱动*/ private static String driver; /*定义静态变量得到连接*/ pri

2、vate static String url; private static String userName;/数据库用户名 private static String password;/数据库密码 /静态的Connection 对象 static driver=ConfigManager.getInstance().getString(driver); url=ConfigManager.getInstance().getString(url); userName=ConfigManager.getInstance().getString(userName); password=Confi

3、gManager.getInstance().getString(password); protected ResultSet rs; protected Statement stmt; protected PreparedStatement ps; /获取的方法 public boolean getConnection() if(conn!=null)/判断连接对象是否为空 return false; try Class.forName(driver);/加载驱动 /根据url,用户名和密码获取 获取的是connection对象 conn=DriverManager.getConnectio

4、n(url,userName,password); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); return true; /增删改的方法 子类可以调用这个方法 帮助执行sql语句 public int execute(String sql,Objectparams) try ps=conn.prepareStatement(sql);/预编译传过来的sql语句 if(params!=null)/如果子类传过来的参数不为空的话 遍历循环 判断使参

5、数兼容 for (int i = 0; i params.length; i+) /遍历参数数组 Object obj=paramsi;/参数是Object类型的所以Object先接收 然后判断 if(obj instanceof String) ps.setString(i+1), (String)obj);/如果该参数是String类型的 就强转设置 数组的的该位置元素是String类型 else if(obj instanceof Integer) ps.setInt(i+1), (Integer)obj); else if(obj=null)/这样判断一下因为有图片传入 判断不了类型

6、obj=;/赋值为空 ps.setString(i+1), (String)obj);/默认设置为String类型 /执行sql int count=ps.executeUpdate(); return count; catch (SQLException e) e.printStackTrace(); return 0; /获取结果集的方法 public ResultSet excuteSql(String sql,Objectparams) try rs=ps.executeQuery(sql); for (int i = 0; i params.length; i+) if(params

7、i instanceof String) ps.setString(i+1), (String)paramsi); else if(paramsi instanceof Integer) ps.setInt(i+1), (Integer)paramsi); catch (SQLException e) e.printStackTrace(); return rs; public boolean closeResource() if(rs!=null) try rs.close(); catch (SQLException e) e.printStackTrace(); return false

8、; if(ps!=null) try ps.close(); catch (SQLException e) e.printStackTrace(); return false; if(conn!=null) try conn.close(); conn=null; catch (SQLException e) e.printStackTrace(); return false; return true; /方法重载 如果需要关闭几个资源就选择哪个方法 public void closeResource(Connection conn) if(conn=null) try conn.close(

9、); catch (SQLException e) e.printStackTrace(); Dao层接口 -BookDao.javapackage combook.dao;import java.util.List;import combook.dto.Book;import common.dto.PageDto;public interface BookDao public List getBooksList(PageDto pagedto)throws Exception;/获得图书集合的方法-所有信息 /增加一本图书信息 public int insertBooks(Book book

10、)throws Exception; /根据图书编号删除新闻 public int delete(int bid)throws Exception; /修改信息 -传入的是图书对象 public int update(Book book)throws Exception; /根据图书编号查找该图书 /根据图书编号查找该图书 public Book query(int bid) throws Exception; public List query(String bookname) throws Exception; /获得总记录的方法 public int getAllRowCount() t

11、hrows Exception; BookImpl.java 实现类 实现了接口 继承了BaseDao.javapackage combook.dao.impl;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.Statement;import java.util.ArrayList;import java.util.List;import combook.dao.BaseDao;import combook.dao.BookDao;import combook.dto.Book;import

12、 common.dto.PageDto;public class BookImpl extends BaseDao implements BookDao /1、查询所有信息 返回一个 带有泛型的集合 public List getNewsList() throws Exception /定义一个集合 集合是对应的要返回出去的 泛型集合 List bookList=new ArrayList(); super.getConnection();/获得连接 通过父类的方法 conn.prepareStatement(select * from news); rs=ps.executeQuery();

13、/返回结果集 while(rs.next()/循环结果集中的数据判断结果集中是否还有下一个容 Book book=new Book();/创建一个实例对象 /把结果集中的图书信息封装到图书对象中去 book.setBid(rs.getInt(bid); book.setBookName(rs.getString(bookName); book.setImage(rs.getString(image); book.setPrice(Double.parseDouble(rs.getString(b_price); book.setStock(rs.getInt(stock); /将图书对象添加到

14、集合中去 因为集合是带有图书泛型所以不需要强转 直接添加图书对象 bookList.add(book); /调用父类方法释放资源 super.closeResource(); return bookList; /获得数据库中所有的图书信息 public List getBooksList(PageDto pagedto) throws Exception /新建一个带有book泛型的集合 List bookList=new ArrayList(); super.getConnection();/第一步获得与数据库的连接 int start=pagedto.getStartIndex();/分页

15、查询开始 int end =pagedto.getEndIndex();/分页查询结束 /写分页查询的sql语句 String sql=select * from (select b.*,rownum rn from books b) where rn=? and rn?; ps=conn.prepareStatement(sql);/预编译sql语句 ps.setInt(1,start);/设置第一个参数的值 ps.setInt(2,end);/设置第二个参数的值 /执行查询语句 rs=ps.executeQuery(); /循环结果集的数据 while(rs.next() /实例化一个图书

16、的对象 Book book =new Book(); /把结果集中的图书信息封装到图书对象中去 book.setBid(rs.getInt(bid); book.setBookName(rs.getString(bookName); book.setImage(rs.getString(image); book.setPrice(Double.parseDouble(rs.getString(b_price); book.setStock(rs.getInt(stock); /将图书对象添加到集合中去 因为集合是带有图书泛型所以不需要强转 直接添加图书对象 bookList.add(book)

17、; super.closeResource(); return bookList; /向表中插入新书的方法 传入的是图书对象 返回影响的行数 public int insertBooks(Book book) throws Exception super.getConnection();/第一步获得与数据库的连接 /新建一个参数的数组 填充占位符 Object params=new Object5; params0=book.getBid(); params1=book.getBookName(); params2=book.getPrice(); params3=book.getImage(

18、); params4=book.getStock(); String sql=insert into book values(?,?,?,?,?); /预编译sql语句 ps=conn.prepareStatement(sql); /执行更新数据库的sql语句操作 int count=super.execute(sql, params); super.closeResource(); return count; /删除图书的方法 根据穿过来的图书id public int delete(int bid) throws Exception super.getConnection();/第一步获得

19、与数据库的连接 /填充占位符 Object params=new Object1; params0=bid; String sql=delete from book where bid=?;/删除的sql语句 /预编译sql语句 ps=conn.prepareStatement(sql); /调用父类的执行sql int count=super.execute(sql, params); /释放资源 super.closeResource(); /返回受影响的行数 return count; /修改图书的方法 传入图书的对象 public int update(Book book) throw

20、s Exception super.getConnection();/第一步获得与数据库的连接 /填充占位符 Object params=new Object4; params0=book.getBookName(); params1=book.getPrice(); params2=book.getImage(); params3=book.getStock(); String sql=update book set bookname=?,b_price=?,image=?,stock=?; ps=conn.prepareStatement(sql); int count=super.exe

21、cute(sql, params); super.closeResource(); return count; public Book query(int bid) throws Exception super.getConnection();/第一步获得与数据库的连接 Book book=new Book(); /填充占位符 Object params=new Object1; params0=bid; String sql=select * from books where bid=?; conn.prepareStatement(sql); rs=super.excuteSql(sql,

22、 params); if(rs.next() /把结果集中的图书信息封装到图书对象中去 book.setBid(rs.getInt(bid); book.setBookName(rs.getString(bookName); book.setImage(rs.getString(image); book.setPrice(rs.getDouble(b_price); book.setStock(rs.getInt(stock); super.closeResource(); return book; public List query(String bookname) throws Excep

23、tion super.getConnection();/第一步获得与数据库的连接 /新建一个带有book泛型的集合 List bookList=new ArrayList(); /填充占位符 /Object params=new Object1; /params0=bookname; String sql=select * from books where bookname like ?; ps=conn.prepareStatement(sql); ps.setString(1, %+bookname+%); /rs=super.excuteSql(sql, params); rs=ps.e

24、xecuteQuery(); while(rs.next() Book book=new Book(); /把结果集中的图书信息封装到图书对象中去 book.setBid(rs.getInt(bid); book.setBookName(rs.getString(bookName); book.setImage(rs.getString(image); book.setPrice(rs.getDouble(b_price); book.setStock(rs.getInt(stock); bookList.add(book); super.closeResource(); return boo

25、kList; public int getAllRowCount() throws Exception super.getConnection();/获得连接 int count=0; /查找到所有记录 String sql=select count(*) from books; ps=conn.prepareStatement(sql);/预编译sql语句 rs=ps.executeQuery();/返回一个结果集 if(rs.next() count=rs.getInt(1);/获得结果集的第一条 super.closeResource(); return count; 用户表 UserI

26、nfoDao.java 接口package combook.dao;import java.util.List;import combook.dto.Book;import combook.dto.UserInfo;import common.dto.PageDto;public interface UserInfoDao /传入一个用户的对象 判断这个对象是否在数据库中存在 public int queryObject(UserInfo user) throws Exception; /根据用户名查找该数据库表中有没有重复的用用户 public int query(String userNa

27、me) throws Exception; /增加一个用户信息 -传入一个用户对象 public int insertUserInfo(UserInfo user)throws Exception; /修改信息 -传入的是用户对象 public int update(UserInfo user)throws Exception; UserInfoDaoImpl实现类package combook.dao.impl;import java.sql.SQLException;import java.util.List;import combook.dao.BaseDao;import combook.dao.UserInfoDao;import combook.dto.Book;import combook.dto.UserInfo;import common.dto.PageDto;public class UserInfoDaoImpl extends BaseDao implements UserInfoD

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1