基于JSP+Servlet+MySQL的自助读书室
项目运行视频:点击查看
一、系统截图
二、开发环境以及技术架构
系统架构:本系统的开发是使用Java作为主要的编程语言编程开发,以主流的数据库MySQL存储数据,后台以MVC的设计模式为主要的技术支撑配合JSP,CSS作为页面显示Java,JavaScript完成页面的逻辑交互,同时引入编辑器插件UEditor,开发出一个简单实用、功能齐全的自助读书室管理系统。
开发环境: JDK7+eclipse+tomcat7+mysql5.5
三、系统功能
1读者身份
个人信息管理
查看个人信息
修改个人信息
自助书籍管理
查询书籍信息
自助借阅管理
查询借阅信息
自助归还管理
查询归还信息
自助罚款管理
罚款信息查询
系统注销管理
系统注销
2管理员身份
密码信息管理
重置个人密码
自助书籍管理
新书上映
书籍更新
书籍移除
书籍搜索
读书人员管理
新增人员
人员变更
移除人员
人员搜索
自助借阅管理
借阅信息管理
借阅信息查询
自助归还管理
归还信息管理
归还信息查询
自助罚款管理
新增罚款信息
罚款信息查询
系统注销管理
系统注销
四、下载链接
五、项目目录
六、系统实体类
1公共实体类
package com.bean;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import com.util.Constant;
import com.util.DBO;
public class ComBean {
private List list;
private ResultSet rs = null;
private int EVERYPAGENUM = 2;
private int count = -1;
private int qq = 0;
//声明时间变量
String date1=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
String date=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance().getTime());
//分页查询
public void setEVERYPAGENUM(int EVERYPAGENUM){
this.EVERYPAGENUM=EVERYPAGENUM;
}
public int getMessageCount(String sql) { //得到信息总数
DBO dbo=new DBO();
dbo.open();
try {
rs = dbo.executeQuery(sql);
rs.next();
count = rs.getInt(1);
return count;
} catch (SQLException ex) {
ex.printStackTrace();
return -1;
} finally {
dbo.close();
}
}
public int getPageCount() { //得到共多少页(根据每页要显示几条信息)
if (count % EVERYPAGENUM == 0) {
return count / EVERYPAGENUM;
} else {
return count / EVERYPAGENUM + 1;
}
}
public List getMessage(int page,String sql2,int rr) { //得到每页要显示的信息
DBO dbo=new DBO();
dbo.open();
List list = new ArrayList();
try {
rs = dbo.executeQuery(sql2);
System.out.println("=================");
System.out.println(sql2);
System.out.println("=================");
for (int i = 0; i < (page - 1) * EVERYPAGENUM; i++) {
rs.next();
}
for (int t = 0; t < EVERYPAGENUM; t++) {
if (rs.next()) {
qq++;
List list2=new ArrayList();
for(int cc=1;cc<=rr;cc++){
list2.add(rs.getString(cc));
}
list.add(list2);
} else {
break; //减少空循环的时间
}
}
System.out.println("++++++++++++++++");
System.out.println(list);
System.out.println("++++++++++++++++");
return list;
} catch (SQLException ex) {
ex.printStackTrace();
return null;
} finally {
dbo.close();
}
}
public int comUp(String sql){
DBO dbo = new DBO();
dbo.open();
try{
int i = dbo.executeUpdate(sql);
if(i == 1){
return Constant.SUCCESS;
}
else{
return Constant.SYSTEM_ERROR;
}
}catch(Exception e){
e.printStackTrace();
return Constant.SYSTEM_ERROR;
}finally{
dbo.close();
}
}
public List getCom(String sql,int row){
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
while(rs.next()){
List list2 = new ArrayList();
for(int i=1;i<=row;i++){
list2.add(rs.getString(i));
}
list.add(list2);
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
public List get1Com(String sql,int row){
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next()){
for(int i=1;i<=row;i++){
list.add(rs.getString(i));
}
}
return list;
}catch(Exception e){
e.printStackTrace();
return list;
}finally{
dbo.close();
}
}
public String getString(String sql){
DBO dbo = new DBO();
list = new ArrayList();
dbo.open();
try{
rs = dbo.executeQuery(sql);
if(rs.next())
return rs.getString(1);
else return null;
}catch(Exception e){
e.printStackTrace();
return null;
}finally{
dbo.close();
}
}
public int getCount(String sql){
DBO dbo = new DBO();
dbo.open();
try{
rs = dbo.executeQuery(sql);
rs.next();
return rs.getInt(1);
}catch(Exception e){
e.printStackTrace();
return 0;
}finally{
dbo.close();
}
}
public float getFloat(String sql){
DBO dbo = new DBO();
dbo.open();
try{
rs = dbo.executeQuery(sql);
rs.next();
return rs.getInt(1);
}catch(Exception e){
e.printStackTrace();
return 0;
}finally{
dbo.close();
}
}
}
复制代码
2数据库操作类
package com.util;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.activation.DataSource;
import java.sql.*;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.naming.Context;
import javax.naming.InitialContext;
public class DBO {
private Connection conn;
private Statement stmt;
private DataSource ds;
public DBO()
{
}
/**
打开数据库
*/
public void open()
{
try
{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/gxts?characterEncoding=utf-8","root","root");
stmt=conn.createStatement();
System.out.println("打开数据库连接");
}
catch (Exception ex)
{
System.err.println("打开数据库时出错: " + ex.getMessage());
}
}
/**
关闭数据库,将连接返还给连接池
*/
public void close()
{
try
{
// connMgr.freeConnection("java", conn);
conn.close();
System.out.println ("释放连接");
}
catch (SQLException ex)
{
System.err.println("返还连接池出错: " + ex.getMessage());
}
}
/**
执行查询
*/
public ResultSet executeQuery(String sql) throws SQLException
{
ResultSet rs = null;
rs = stmt.executeQuery(sql);
System.out.println ("执行查询");
return rs;
}
/**
执行增删改
*/
public int executeUpdate(String sql) throws SQLException
{
int ret = 0;
ret = stmt.executeUpdate(sql);
System.out.println ("执行增删改");
return ret;
}
/**
将SQL语句加入到批处理
*/
public void addBatch(String sql) throws SQLException
{
stmt.addBatch(sql);
}
/**
执行批处理
*/
public int [] executeBatch() throws SQLException
{
boolean isAuto=conn.getAutoCommit();
conn.setAutoCommit(false);
int [] updateCounts = stmt.executeBatch();
// conn.commit();
// conn.setAutoCommit(isAuto);
//conn.setAutoCommit(true);
return updateCounts;
}
public boolean getAutoCommit() throws SQLException
{
return conn.getAutoCommit();
}
public void setAutoCommit(boolean auto) throws SQLException
{
conn.setAutoCommit(auto);
}
public void commit() throws SQLException
{
conn.commit();
// this.close();
}
public void rollBack() throws SQLException
{
conn.rollback();
// this.close();
}
}
复制代码
更多关于项目的描述可以点击JSP+Servlet+MySQL的图书管理系统




近期评论