JDBC工具类

抽取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;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值