r;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**数据库
通信类 该类 提供了通过ODBC的方式访问数据库 */
public class DBManager {
private Connection conn=null;
private Connection getConnection(){
try {
if(conn==null ||conn.isClosed()==true ){
System.out.println("加载驱动一次,获取数据库连接一次......");
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn=DriverManager.getConnection("jdbc:odbc:libra","sa","sa");
}
} catch (ClassNotFoundException e) {
System.out.println("加载驱动失败!");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("获得数据库Connection连接失败");
e.printStackTrace();
}
return conn;
}
//负责数据库通信就两类 一类是查询第二类是更新
/**
* query方法提供了数据库查询功能调用者需要提供准确的SQL查询语句 如果本函数能准确的执行将返回一个结果集ResultSet对象否则将返回一个NULL
* SelectSql代表查询命令 格式select*
* return selectSql命令所查询的结果ResultSet对象
*/
public ResultSet query(String selectsql){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
conn=this.getConnection();
try {
stmt=conn.createStatement();
return stmt.executeQuery(selectsql);
} catch (SQLException e) {
System.out.println("数据库查询失败!");
e.printStackTrace();
}
return null;
}
/** 负责update的方法 */
public int update(String updatesql){
Connection conn=null;
Statement stmt=null;
conn=this.getConnection();
try {
stmt=conn.createStatement();
return stmt.executeUpdate( updatesql);
} catch (SQLException e) {
System.out.println("数据库更新失败!");
e.printStackTrace();
}
return 0;
}
}
4.2.2登录模块程序设计
本模块主要是用户通过图书管理系统的首页登录窗口进入图书系统。用户输入正确的用户名和密码,系统会根据用户的身份进行相应权限划分;如果登录信息有错误,则系统提示登入错误的信息,图书借阅管理系统的登录主页面如图4.1所示。
图4.1 图书管理系统登录首页
用户在登录页面写好用户名和密码,选择登录,登录成功则跳转到系统的首页,否则提示错误信息[。在服务器端进行用户身份验证的程序流程图如图4.2程序流程图所示:
图4.2用户登录流程图
该登录窗口通过新建一个类Main,进入该图书馆管理系统。具体代码如下:
package main;
import model.Lib_User;
import view.LoginView;
import view.Mainview;
/** 图书管理系统的程序入口*/
public class Main {
public static void main(String[] args) {
LoginView lv=new LoginView () ;
}
}
该登录窗口的设计标签框,按钮等组件的添加,通过新建一个LoginView类实现。(代码省略)
4.2.3图书馆管理系统主模块的实现
本模块中最主要的是该管理系统的主界面,系统管理员进入该界面进行各种操作。
该系统主界面如下图所示:
图4.3 图书馆管理系统主界面
该界面的实现,通过新建一个Mainview类来实现,具体代码代码如下:
package view;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt