JDBC工具类
先来一个property(当然也可以不用这个东东,可以直接在工具类中写出来),主要是方便更改数据库的配置信息
db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=utf-8&useSSL=false
username=root
pwd=123456
代码中要取到这个文件里面的值
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("./db.properties");
Properties prop = new Properties();
prop.load(in);
prop.getProperty("driver");
prop.getProperty("url");
prop.getProperty("username");
prop.getProperty("pwd");
完整代码
package utils;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
public class JdbcUtils {
private static String driver;
private static String url;
private static String username;
private static String pwd;
static {
try {
InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("./db.properties");
Properties prop = new Properties();
prop.load(in);
driver = prop.getProperty("driver");
url = prop.getProperty("url");
username = prop.getProperty("username");
pwd = prop.getProperty("pwd");
Class.forName(driver);
}catch (Exception e){
throw new ExceptionInInitializerError(e);
}
}
public static Connection getConnection() throws SQLException {
return DriverManager.getConnection(url,username,pwd);
}
public static void release(Connection conn,Statement st,ResultSet rs){
if (rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (st!=null){
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
创建一个测试类
Test.java
public class Test {
public static void main(String[] args){
try {
Connection conn = JdbcUtils.getConnection();
System.out.println(conn);
String sql = "select * from smbms_bill";
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()){
System.out.println(rs.getObject(1));
}
JdbcUtils.release(conn,st,rs);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
打完收工