配置一个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);
}
}
}