1>Properties文件:
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
username=root
password=123
2>调用properties文件及定义2个方法:
package lesson2.utils;
import jdk.internal.dynalink.beans.StaticClass;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
public class jdbcUtils {
//读入配置文件
private static String driver=null; //提升一下变量作用域,不然下面方法不能用
private static String url=null;
private static String username=null;
private static String password=null;
static {
try {InputStream in=jdbcUtils.class.getClassLoader().getResourceAsStream(“db.properties”);
Properties properties = new Properties();
properties.load(in);
driver=properties.getProperty(“driver”);
url=properties.getProperty(“url”);
username=properties.getProperty(“username”);
password=properties.getProperty(“password”);
//驱动只用加载一次,其他页面就就不要再加载了
Class.forName(driver);
} catch (Exception e) {
e.printStackTrace();
}
}
//定义获取连接的方法
public static Connection getconnection() throws SQLException {
return DriverManager.getConnection(url,username,password);
}
//定义释放连接资源方法,不要返回值用void
public static void release(Connection conn, Statement st, ResultSet rs) throws SQLException {
if (rs!=null) rs.close();
if (st!=null) st.close();
if (conn!=null) conn.close();
}
}
3>第3个Java页面调用第2个页面2个方法,驱动在第2个页面加载一次了就不要再加载了:
package lesson2.utils;
import javax.swing.plaf.basic.BasicTreeUI;
import java.sql.*;
public class TestInert {
public static void main(String[] args) throws SQLException {
Connection conn=null;
ResultSet rs=null;
Statement st=null;
try {
conn = jdbcUtils.getconnection(); //调jdbcUtils.java中getconnection()方法
st = conn.createStatement();
String sql = “INSERT INTO USER(NAME,PASSWORD)”+
" VALUES(‘CHINA’,‘888’)";
int i = st.executeUpdate(sql);
if (i > 0) {
System.out.println(“新增一条记录成功!”);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {jdbcUtils.release(conn,st,rs); //调jdbcUtils.java中release()方法
}
}
}