package com.zhang.dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.zhang.model.BookInfo;
import com.zhang.model.BookType;
import com.zhang.model.Operator;
import com.zhang.model.Reader;
import com.zhang.model.User;
public class Dao {
protected static String dbClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
protected static String dbUrl = "jdbc:sqlserver://localhost:1433;"
+ "DatabaseName=db_lib;SelectMethod=Cursor";
protected static String dbUser = "sa";
protected static String dbPwd = "zhangyong";
protected static String second = null;
private static Connection conn = null;
//创建数据库连接
private Dao() {
try {
if (conn == null) {
Class.forName(dbClassName).newInstance();
conn = DriverManager.getConnection(dbUrl, dbUser, dbPwd);
System.out.println("数据库连接成功!");
}
else
return;
} catch (Exception ee) {
ee.printStackTrace();
}
}
//执行查询
private static ResultSet executeQuery(String sql) {
try {
if(conn==null)
new Dao();
return conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE).executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
return null;
} finally {
}
}
//执行更新
private static int executeUpdate(String sql) {
try {
if(conn==null)
new Dao();
return conn.createStatement().executeUpdate(sql);
} catch (SQLException e) {
System.out.println(e.getMessage());
//if(e.getMessage().equals("[Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]DELETE 语句与 COLUMN REFERENCE 约束 'FK_TB_BORRO_REFERENCE_TB_BOOKI' 冲突。该冲突发生于数据库 'db_library',表 'tb_borrow', column 'bookISBN'。"))
return -1;
} finally {
}
}
//关闭数据库
public static void close() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
conn = null;
}
}
public static Operator check(String name, String password) {
int i = 0;
Operator operater=new Operator();
String sql = "select * from tb_operator where name='" + name
+ "' and password='" + password + "'and admin=1";
ResultSet rs = Dao.executeQuery(sql);
try {
while (rs.next()) {
String names = rs.getString(1);
operater.setId(rs.getString("id"));
operater.setName(rs.getString("name"));
operater.setGrade(rs.getString("admin"));
operater.setPassword(rs.getString("password"));
if (names != null) {
i = 1;
}
}
} catch (Exception e) {
e.printStackTrace();
}
Dao.close();
return operater;
}
/*
* 查询类别方法
*/
//查询图书目录
public static List selectBookCategory() {
List list=new ArrayList();
String sql = "select * from tb_bookType";
ResultSet rs = Dao.executeQuery(sql);
try {
while (rs.next()) {
BookType bookType=new BookType();
bookType.setId(rs.getString("id"));
bookType.setTypeName(rs.getString("typeName"));
list.add(bookType);
}
} catch (Exception e) {
e.printStackTrace();
}
Dao.close();
return list;
}
public static List selectBookCategory(String bookType) {
List list=new ArrayList();
String sql = "select days from tb_bookType where typeName='"+bookType+"'";
ResultSet rs = Dao.executeQuery(sql);
try {
while (rs.next()) {
BookType type=new BookType();
type.setDays(rs.getString("days"));
list.add(type);
}
} catch (Exception e) {
e.printStackTrace();
}
Dao.close();
return list;
}
/*
* 图书类别表相关操作
*
*/
//插入图书类型
public static int InsertBookType(String bookTypeName){
int i=0;
try{
String sql="insert into tb_bookType(typeName) values('"+bookTypeName+"')";
i=Dao.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
return i;
}
//更新图书类别
public static int UpdatebookType(String id,String typeName){
int i=0;
try{
String sql="update tb_bookType set typeName='"+typeName+"' where id='"+id+"'";
//System.out.println(sql);
i=Dao.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
Dao.close();
return i;
}
//删除图书类别
public static int DelbookType(String id){
int i=0;
try{
String sql="delete from tb_bookType where id='"+id+"'";
//System.out.println(sql);
i=Dao.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
Dao.close();
return i;
}
/*
* 图书信息表相关操作
*/
/*
* 插入图书信息方法
*/
//插入图书信息
public static int Insertbook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price){
int i=0;
try{
String sql="insert into tb_bookInfo(ISBN,typeId,bookname,writer,translator,publisher,date,price) values('"+ISBN+"','"+typeId+"','"+bookname+"','"+writer+"','"+translator+"','"+publisher+"','"+date+"',"+price+")";
//System.out.println(sql);
i=Dao.executeUpdate(sql);
}catch(Exception e){
System.out.println(e.getMessage());
}
Dao.close();
return i;
}
/*
* 查询图书相关信息
*
*/
public static List selectBookInfo() {
List list=new ArrayList();
String sql = "select * from tb_bookInfo";
ResultSet rs = Dao.executeQuery(sql);
try {
while (rs.next()) {
BookInfo bookinfo=new BookInfo();
bookinfo.setISBN(rs.getString("ISBN"));
bookinfo.setTypeid(rs.getString("typeid"));
bookinfo.setBookname(rs.getString("bookname"));
bookinfo.setWriter(rs.getString("writer"));
bookinfo.setTranslator(rs.getString("translator"));
bookinfo.setPublisher(rs.getString("publisher"));
bookinfo.setDate(rs.getDate("date"));
bookinfo.setPrice(rs.getDouble("price"));
list.add(bookinfo);
}
} catch (Exception e) {
e.printStackTrace();
}
Dao.close();
return list;
}
public static List selectBookInfo(String ISBN) {
List list=new ArrayList();
String sql = "select * from tb_bookInfo where ISBN='"+ISBN+"'";
ResultSet rs = Dao.executeQuery(sql);
try {
while (rs.next()) {
BookInfo bookinfo=new BookInfo();
bookinfo.setISBN(rs.getString("ISBN"));
bookinfo.setTypeid(rs.getString("typeid"));
bookinfo.setBookname(rs.getString("bookname"));
bookinfo.setWriter(rs.getString("writer"));
bookinfo.setTranslator(rs.getString("translator"));
bookinfo.setPublisher(rs.getString("publisher"));
bookinfo.setDate(rs.getDate("date"));
bookinfo.setPrice(rs.getDouble("price"));
list.add(bookinfo);
}
} catch (Exception e) {
e.printStackTrace();
}
Dao.close();
return list;
}
/*
* 修改图书信息方法
*/
//更新图书信息
public static int Updatebook(String ISBN,String typeId,String bookname,String writer,String translator,String publisher,Date date,Double price){
int i=0;
try{
String sql="update tb_bookInfo set ISBN='"+ISBN+"',typeId='"+typeId+"',bookname='"+bookname+"',writer='"+writer+"',translator='"+translator+"',publisher='"+publisher+"',date='"+date+"',price="+price+" where ISBN='"+ISBN+"'";
//System.out.println(sql);
i=Dao.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
Dao.close();
return i;
}
// /*
// * 删除图书信息方法
// */
public static int Delbook(String ISBN){
int i=0;
try{
String sql="delete from tb_bookInfo where ISBN='"+ISBN+"'";
//System.out.println(sql);
i=Dao.executeUpdate(sql);
}catch(Exception e){
e.printStackTrace();
}
Dao.close();
return i;
}
/*
* 对读者信息表执行的相关操作
*/
//增加读者信息
public static int InsertReader(String name,String sex,String age,String identityCard,Date date,String maxNum,String tel,Double keepMoney,String zj,String zy,Date bztime,S
没有合适的资源?快使用搜索试试~ 我知道了~
tushu.rar_http//www.tushu.com
共102个文件
class:76个
java:22个
prefs:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 61 浏览量
2022-09-14
19:31:17
上传
评论
收藏 228KB RAR 举报
温馨提示
本系统适用于单位图书馆,校园图书馆,是图书管理员的最佳助手。方便借书、还书、查找、打印、导出、统计、报表等操作。 可以自定义图书类别,读者类别,方便添加图书、管理图书、添加读者、管理读者。提供完善的借书和还书操作,拥有完全独立的数据库系统,是您的数据安全得到了保障,数据管理为您提供:图书管理,读者管理。数据查询为您提供:借阅情况,书库查询,读者查询。本系统具有安全的数据库备份方案,简单易用,仿WINDOWS操作方式可以使您很快上手,打印机设置为您打印提供解决方案,查询系统拥有常用的查询,和自定义查询两种方式
资源推荐
资源详情
资源评论
收起资源包目录
tushu.rar_http//www.tushu.com (102个子文件)
Dao.class 14KB
ReaderModiAndDelIFrame.class 10KB
BookModiAndDelIFrame.class 9KB
UserModiAndDelIFrame.class 7KB
ReaderAddIFrame.class 7KB
BookAddIFrame.class 7KB
BookTypeModiAndDelIFrame.class 6KB
MainFrame.class 5KB
UserAddIFrame.class 5KB
ModifyPass.class 5KB
ReaderModiAndDelIFrame$ModiButtonListener.class 4KB
LoginIFrame.class 4KB
BookModiAndDelIFrame$addBookActionListener.class 4KB
ReaderAddIFrame$ButtonAddListener.class 4KB
UserModiAndDelIFrame$2.class 3KB
UserAddIFrame$1.class 3KB
BookAddIFrame$addBookActionListener.class 3KB
BookTypeAddIFrame.class 3KB
Reader.class 3KB
BookTypeModiAndDelIFrame$ButtonAddListener.class 2KB
MenuActions.class 2KB
User.class 2KB
ReaderModiAndDelIFrame$TableListener.class 2KB
ReaderModiAndDelIFrame$DelButtonListener.class 2KB
UserModiAndDelIFrame$1.class 2KB
BookModiAndDelIFrame$TableListener.class 2KB
BookInfo.class 2KB
BookTypeModiAndDelIFrame$ButtonDelListener.class 2KB
BookModiAndDelIFrame$1.class 2KB
UserModiAndDelIFrame$3.class 2KB
ModifyPass$1.class 2KB
LoginIFrame$BookLoginAction.class 2KB
MainFrame$1.class 2KB
MenuActions$ReaderModiAction.class 1KB
BookTypeModiAndDelIFrame$TableListener.class 1KB
MenuActions$ReaderAddAction.class 1KB
MenuActions$UserModiAction.class 1KB
MenuActions$BookTypeModiAction.class 1KB
MenuActions$BookTypeAddAction.class 1KB
BookTypeAddIFrame$1.class 1KB
MenuActions$BookModiAction.class 1KB
MenuActions$UserAddAction.class 1KB
MenuActions$BookAddAction.class 1KB
MenuActions$PasswordModiAction.class 1KB
MapPz.class 1KB
BookAddIFrame$ISBNFocusListener.class 1KB
ReaderModiAndDelIFrame$KeepmoneyListener.class 1KB
ReaderAddIFrame$1.class 1KB
LoginIFrame$BookResetAction.class 1KB
ReaderAddIFrame$DateListener.class 1KB
Operator.class 1KB
BookType.class 1KB
ReaderModiAndDelIFrame$NumberListener.class 965B
ReaderModiAndDelIFrame$TelListener.class 957B
BookModiAndDelIFrame$NumberListener.class 954B
BookTypeAddIFrame$NumberListener.class 936B
ModifyPass$2.class 925B
ReaderAddIFrame$NumberListener.class 923B
ReaderAddIFrame$TelListener.class 915B
BookAddIFrame$NumberListener.class 912B
BookAddIFrame$ISBNkeyListener.class 906B
MyDocument.class 903B
CreateIcon.class 899B
LoginIFrame$1.class 878B
MenuActions$ExitAction.class 834B
BookTypeModiAndDelIFrame$CloseActionListener.class 833B
UserModiAndDelIFrame$CloseActionListener.class 809B
BookModiAndDelIFrame$2.class 783B
ReaderAddIFrame$CloseActionListener.class 779B
Item.class 775B
UserAddIFrame$CloseActionListener.class 767B
BookAddIFrame$CloseActionListener.class 767B
BookTypeAddIFrame$2.class 765B
UserAddIFrame$2.class 697B
NumberListener.class 695B
NListener.class 692B
.classpath 301B
Dao.java 14KB
ReaderModiAndDelIFrame.java 13KB
BookModiAndDelIFrame.java 11KB
ReaderAddIFrame.java 10KB
UserModiAndDelIFrame.java 9KB
BookAddIFrame.java 8KB
MenuActions.java 7KB
UserAddIFrame.java 7KB
ModifyPass.java 6KB
MainFrame.java 6KB
BookTypeModiAndDelIFrame.java 5KB
LoginIFrame.java 4KB
BookTypeAddIFrame.java 3KB
Reader.java 2KB
User.java 1KB
BookInfo.java 1KB
MyDocument.java 680B
Operator.java 641B
BookType.java 588B
MapPz.java 553B
Item.java 355B
CreateIcon.java 320B
login.jpg 99KB
共 102 条
- 1
- 2
资源评论
林当时
- 粉丝: 114
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 毕设-c语言地空对战游戏17.zip
- 毕设-c语言对对碰游戏源码19.zip
- 毕设-c语言华容道源码2.zip
- 毕设-c语言对自己电脑系统测试20.zip
- 毕设-c语言火车票订票管理源码3.zip
- 毕设-c语言黑白棋ai游戏源码1.zip
- 毕设-c语言俄罗斯方块21.zip
- 毕设-c语言盒子接球游戏源码22.zip
- 毕设-c语言教工工资管理系统4.zip
- Microsoft Security Essentials 2024
- 爱家房产V9.39商业版红色宽屏大气界面,二手房新房门户网站+新手机端+沙盘功能+小程序
- Java+Swing+Mysql实现学校教务管理系统.zip
- 2000-2023年各省、地级市通货膨胀率及CPI指数.zip
- C# 三菱FX3U以太网MC协议客户端设计工程源码带注释,开源dll文件,包括打包完的安装包,
- Java+Swing+Mysql实现员工工资管理系统.zip
- MATLAB代码:基于多时间尺度滚动优化的多能源微网双层调度模型 关键词:多能源微网 多时间尺度 滚动优化 微网双层模型 调度 参考文档:Collaborative Autonomous Opti
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功