本系统开发使用Java,Java具有跨平台能力,简单性、面向对象、分布式、安全性、可移植性等优势,使用Java进行开发,其中后端主要是使用SSM搭建框架,也就是Spring+SpringMVC+MyBatis,因为其有较为简洁的持久化框架、简单易学,提供映射标签,支持对象与数据库的ORM字段关系映射,故而采用SSM进行框架搭建。
前端使用Bootstrap框架,Bootstrap是目前很受欢迎的前端框架,是基于 HTML、CSS、JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷。
数据库采用MySQL,由于 MySQL 数据库体积小、速度快、总体拥有成本低、开放源代码,其有着广泛的应用,一般中小型网站的开发都选择 MySQL 作为网站数据库。
开发工具MyEclipse,MyEclipse将开发者常用到的一些有用的插件都集合起来
数据库可视化工具 navicat for mysql
use library_system;
create table Reader(
ReaderID varchar(20) not null primary key comment '学号' ,
ReaderName char(30) not null comment '姓名' ,
Apart char(10) comment '学院' ,
Sex char(2) default '男' check (Sex in ('男','女')),
Class char(10) comment '班级' ,
TelNo char(20) comment '电话'
)default charset=utf8;
package com.bluerabbit.librarysystem.database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
/**
* DBUtils是java编程中的数据库操作实用工具,小巧简单实用,
* 1.对于数据表的读操作,他可以把结果转换成List,Array,Set等java集合,便于程序员操作;
* 2.对于数据表的写操作,也变得很简单(只需写sql语句)
* @author minuy
*
*/
public abstract class DBUtil {
//声明连接数据库所需要的相关信息
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/library_system?useUnicode=true&characterEncoding=UTF-8";
private static String userName = "root";
private static String passWord = "YourPassword";
//单例化模式
private DBUtil() {
}
//静态的方式加载JDBC驱动
static {
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 返回一个数据库链接
* @return
*/
public static Connection getConn() {
Connection conn = null;
try {
conn = DriverManager.getConnection(url, userName,passWord);
} catch (SQLException e) {
System.out.println("数据库连接失败!");
JOptionPane.showMessageDialog(null, "服务器连接失败");
e.printStackTrace();
}
// new Thread(){
// public void run(){
// try {
// Connection con = DriverManager.getConnection(connectString, sql_user, sql_pwd);
// con.close();
// } catch (SQLException e) { //连接失败
// e.printStackTrace();
// }
// }
// }.start();
return conn;
}
/**
* 释放数据库连接信息
* @param rs
* @param pstm
* @param conn
*/
public static void free(ResultSet rs,Statement pstm,Connection conn) {
FreeConnection(conn);
FreeStatement(pstm);
FreeResultSet(rs);
}
public static void free(Connection conn){
FreeConnection(conn);
}
public static void free(ResultSet rs,Statement pstm) {
FreeResultSet(rs);
FreeStatement(pstm);
}
public static void free(Statement pstm,Connection conn) {
FreeStatement(pstm);
FreeConnection(conn);
}
//释放连接
private static void FreeConnection(Connection conn){
if(conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//释放资源
private static void FreeResultSet(ResultSet rs){
if(rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//释放操作对象
private static void FreeStatement(Statement pstm){
if(pstm != null) {
try {
pstm.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}