Java连接数据库JDBC-properties方式

配置一个DB.properties在src路径下面
例如

username=root
password=123456
driver.name=com.mysql.jdbc.Driver
jdbcurl=jdbc:mysql://cdh1:3306/mysql

创建数据库连接

package xlucas.jdbc;

import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ResourceBundle;

/**
 * Created by Xlucas on 2018/4/14.
 */
public class JDBCdemo2 {
    private static String username;
    private static String password;
    private static String driver;
    private static String jdbcurl;
    /*
    静态代码块,用静态代码块来加载类的时候赋值变量
     */
    static{
        ResourceBundle bundle = ResourceBundle.getBundle("db");
        driver = bundle.getString("driver.name");
        jdbcurl = bundle.getString("jdbcurl");
        username = bundle.getString("username");
        password = bundle.getString("password");
    }
    /*
    创建数据库连接
     */
    public static Connection getConnection(){
        Connection conn=null;

        try {
            Class.forName(driver);
            conn= (Connection) DriverManager.getConnection(jdbcurl,username,password);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return conn;
    }
    /*
    释放资源
     */
    public static void Release(Connection conn, PreparedStatement pr, ResultSet rs){
        if(rs!=null){
            try {
                rs.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if(pr!=null){
            try {
                pr.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        if (conn!=null){
            try {
                conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }

}

测试数据库是否可以连接上

package xlucas.jdbc.test;

import com.mysql.jdbc.Connection;
import org.junit.Test;
import xlucas.jdbc.JDBCdemo2;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * Created by Xlucas on 2018/4/15.
 */
public class TestJdbc {
    @Test
    public void TestFindUsername(){
    Connection conn=null;
        PreparedStatement pr=null;
        ResultSet rs=null;
        try {
            //创建连接
            conn= JDBCdemo2.getConnection();
            String sql="select * from user where User=? and Password= ?";
            //创建预执行实例
            pr=conn.prepareStatement(sql);
            //给sqll中的变量赋值
            pr.setString(1,"root");
            pr.setString(2,"6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9");
            //执行sql语句
            rs=pr.executeQuery();
            //打印返回的结果
            while(rs.next()){
                System.out.println(rs.getString(1)+"------------"+rs.getString(2));

            }

        } catch (SQLException e) {
            e.printStackTrace();
        }finally {
            //  释放资源
            JDBCdemo2.Release(conn,pr,rs);
        }

    }
}

猜你喜欢

转载自blog.csdn.net/paicmis/article/details/79946077