⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbunit.java

📁 本光盘包含了本书各章中出现的所有程序的源代码。 1. 如果是Java程序
💻 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 + -