📄 dbunit.java
字号:
package com.function;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DBUnit {
private static String driver="com.mysql.jdbc.Driver";
private static String URL="jdbc:mysql:///Students";
private Connection con=null;
private Statement smt = null;
private static Connection createConnection(){
try
{
// 显示加载驱动程序
Class.forName(driver);
return DriverManager.getConnection(URL,"root","applepie");
}
catch(SQLException e)
{
System.out.println(e.getMessage());
e.printStackTrace();
}
catch(java.lang.ClassNotFoundException e)
{
System.out.println("Can't load Driver");
}
return null;
}
//通过JDBC执行传入的SQL查询语句
private ResultSet runQuery(String sql){
try{
if (con == null) {
con = createConnection();
}
if (smt == null) {
smt = con.createStatement();
}
return smt.executeQuery(sql);
}catch(SQLException e){
System.out.println(e.getMessage());
e.printStackTrace();
}
return null;
}
//对外执行查询语句的方法,通过该方法,间接调用真正执行查询语句的方法runQuery
public ResultSet sqlQuery(String sql){
return runQuery(sql);
}
//判断是否是合法的登录用户
private boolean isUser(String name,String password){
String query= "select * from User where name='"+name+"' and password='"+password+"'";
ResultSet rs=runQuery(query);
if(rs!=null){
try{
return rs.next();
}catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return false;
}
return false;
}
//通过JDBC执行传入的SQL修改语句
private int runUpdate(String sql) throws SQLException {
if (con==null){
con=createConnection();
}
if (smt == null) {
smt = con.createStatement();
}
return smt.executeUpdate(sql);
}
//对外执行修改语句的方法,通过该方法,间接调用真正执行查询语句的方法runUpdate
public int updateSQL(String sql){
try{
return runUpdate(sql);
}catch(SQLException e){
System.out.println(e.getMessage());
e.printStackTrace();
}
return -1;
}
//通过JDBC执行删除符合传入学号的数据库记录
private boolean deleStudent(String id){
try{
if (con == null) {
con = createConnection();
}
if (smt == null) {
smt = con.createStatement();
}
String sql="delete from Students_Information where id='"+id+"'";
if(runUpdate(sql)==1){
return true;
}
else{
return false;
}
}catch(SQLException e){
System.out.println(e.getMessage());
e.printStackTrace();
}
return false;
}
//对外执行删除符合指定id记录的方法,通过该方法,间接调用deleStudent完成
public boolean removeID(String id){
return deleStudent(id);
}
//对外判断是否为合法登录用户的方法,间接调用isUser完成
public boolean certifyUser(String na,String pw){
return isUser(na,pw);
}
//生成新学员的学号
private int getID(){
String sql="select max(id) from Students_Information";
ResultSet rs = runQuery(sql);
if(rs!=null){
try{
rs.next();
return rs.getInt(1)+1;
}catch (SQLException e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return -1;
}
return -1;
}
//对外获得新学号的方法,间接调用getID方法完成
public int getNewStudentID(){
return getID();
}
//获得符合传入id值的记录
private ResultSet getOne(String id){
String sql="select * from Students_Information where id="+id;
return runQuery(sql);
}
//对外获得符合传入id值记录的方法,间接调用getOne方法完成
public ResultSet getOneStudent(String id){
return getOne(id);
}
//关闭Statement和Connection等对象,释放占用的资源
public void closeConnection(){
try{
smt.close();
con.close();
}catch(SQLException e){
System.out.println(e.getMessage());
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -