通过配置文件(jdbc.properties)来加获取加载驱动、url、user、password等信息,该配置文件在src文件目录下
jdbc.properties
url=jdbc:mysql://localhost:3306/db_study
user=root
password=root
driver=com.mysql.jdbc.Driver
JDBCUtils
package Util;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
public class JDBCUtils {
static String url;
static String user;
static String password;
static String driver;
static{
try {
Properties pro = new Properties();
ClassLoader classLoader = JDBCUtils.class.getClassLoader();
URL res = classLoader.getResource("jdbc.properties");
String path = res.getPath();
path = java.net.URLDecoder.decode(path,"utf-8");
System.out.println(path);
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 (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 创建连接
* @return Connection
*/
public static Connection getConnection(){
Connection conn = null;
try {
conn = DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
/**
* 资源释放
* @param conn
* @param stmt
* @param rs
*/
public static void close(Connection conn,Statement stmt,ResultSet rs){
if(conn != null){
try {
conn.close();
} catch (Exception e) {
// TODO: handle exception
}
}
if(stmt != null){
try {
stmt.close();
} catch (Exception e) {
// TODO: handle exception
}
}
if(rs != null){
try {
rs.close();
} catch (Exception e) {
// TODO: handle exception
}
}
}
/**
*
* @param conn
* @param stmt
*/
public static void close(Connection conn,Statement stmt){
if(conn != null){
try {
conn.close();
} catch (Exception e) {
// TODO: handle exception
}
}
if(stmt != null){
try {
stmt.close();
} catch (Exception e) {
// TODO: handle exception
}
}
}
}
使用JDBCUtils工具类查看test02表中的数据
package Demo02_ResultSet;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import Util.JDBCUtils;
public class Demo01_ResultSet {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try{
//Class.forName("com.mysql.jdbc.Driver");
//String sql = "create table test02(name varchar(255), age int)";
String sql = "select * from test02";
//conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/db_study","root","qqq7612838");
conn = JDBCUtils.getConnection();
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
//遍历rs集合
while(rs.next()){
int id = rs.getInt("id");//1
String name = rs.getString("name");//2
int age = rs.getInt("age");//3
System.out.println(id + "\t" + name + "\t" + age);
}
}catch(Exception e){
e.printStackTrace();
}finally{
JDBCUtils.close(conn, stmt,rs);
/*
if(conn != null){
try {
conn.close();
} catch (Exception e) {
// TODO: handle exception
};
}
if(stmt != null){
try {
stmt.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
if(rs != null){
try {
rs.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
*/
}
}
}