抽取JDBC工具类
package util;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.*;
import java.util.Properties;
public class JDBCUtils {
private static String url;
private static String user;
private static String password;
private static String driver;
static{
try {
Properties pro = new Properties( );
ClassLoader classLoader = JDBCUtils.class.getClassLoader();
URL res = classLoader.getResource( "jdbc.properties" );
String path = res.getPath();
//获取src路径下的文件的方式
pro.load(new FileReader( path ) );
url = pro.getProperty( "url" );
user = pro.getProperty( "user" );
password = pro.getProperty( "password" );
driver = pro.getProperty( "driver" );
Class.forName( driver );
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
/**
* 获取连接
* @return 连接对象
*/
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection( url,user,password );
}
/**
* 释放资源
* @param stmt
* @param conn
*/
public static void close( Statement stmt,Connection conn ){
if (stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!= null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close( ResultSet rs, Statement stmt,Connection conn ){
if (rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!= null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
实现案例
package Demo;
import util.JDBCUtils;
import java.sql.*;
import java.util.Scanner;
//登录练习
public class Jdbcdemo03 {
public static void main( String[] args ) {
Scanner sc = new Scanner( System.in );
System.out.println("请输入用户名");
String username = sc.nextLine();
System.out.println("密码");
String password = sc.nextLine();
boolean flag = new Jdbcdemo03().login2( username,password );
if(flag){
System.out.println("登陆成功");
}else{
System.out.println("用户名或密码错误");
}
}
public boolean login2( String username, String password){
if(username == null || password==null){
return false;
}
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = JDBCUtils.getConnection();
String sql = "select * from user where username = ? and password = ?";
pstmt = conn.prepareStatement( sql );
pstmt.setString( 1,username );
pstmt.setString( 2,password );
rs = pstmt.executeQuery( );
return rs.next();
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtils.close( rs,pstmt,conn );
}
return false;
}
public boolean login( String username, String password){
if(username == null || password==null){
return false;
}
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
conn = JDBCUtils.getConnection();
String sql = "select * from user where username ='"+username+"' and password = '"+password+"'";
stmt = conn.createStatement();
rs = stmt.executeQuery( sql );
return rs.next();
} catch (SQLException e) {
e.printStackTrace();
}finally {
JDBCUtils.close( rs,stmt,conn );
}
return false;
}
}