封装jdbc
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class jdbcUtil {
//获取connection对象
//关闭connection
//关闭statement对象
private static String driver="com.mysql.jdbc.Driver";
private static String connectionUrl="jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8";
private static String username="root";
private static String psw="123456";
static {
//读取propertile
/*ResourceBundle bundle=ResourceBundle.getBundle("jdbc");
driver=bundle.getString("driver");
connectionUrl=bundle.getString("connectionUrl");
username=bundle.getString("username");
psw=bundle.getString("psw");*/
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
Connection conn=null;
try {
conn= DriverManager.getConnection(connectionUrl,username,psw);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void closeStatement(Statement state){
if(state!=null){
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void closeConnection(Connection conn){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
测试
package jdbc;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class testJdbc {
public void insertTable(){
//驱动注册
Connection conn=null;
Statement state=null;
try {
conn=jdbcUtil.getConnection();
String str="insert into usertable values(4,'zhao','123','123@1qq')";
state=conn.createStatement();
int flag=state.executeUpdate(str);
System.out.print(flag);
} catch (SQLException e) {
e.printStackTrace();
} finally {
jdbcUtil.closeConnection(conn);
jdbcUtil.closeStatement(state);
}
}
public static void main(String[] args) {
testJdbc test=new testJdbc();
test.insertTable();
}
}
不用读取properties,运行如下

我用读取properties文件
properties文件
jdbc.driver=com.mysql.jdbc.Driver
jdbc.connectionUrl=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf8
jdbc.username=root
jdbc.psw=123456
package jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;
public class jdbcUtil {
//获取connection对象
//关闭connection
//关闭statement对象
private static String driver";
private static String connectionUrl;
private static String psw;
static {
//读取propertile
ResourceBundle bundle=ResourceBundle.getBundle("jdbc");
driver=bundle.getString("driver");
connectionUrl=bundle.getString("connectionUrl");
username=bundle.getString("username");
psw=bundle.getString("psw");
try {
Class.forName(driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnection(){
Connection conn=null;
try {
conn= DriverManager.getConnection(connectionUrl,username,psw);
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public static void closeStatement(Statement state){
if(state!=null){
try {
state.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void closeConnection(Connection conn){
if(conn!=null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
测试类代码没变就改了插入的数据,结果运行如下

我上网查了原因,没有找到加载该类,初始化没有成功,有些博客说在properties文件中加上jdbc.我加了还是不对

这是为啥