先进行属性的配置,以后需要改变数据库信息直接在文件中就可以修改
下面是工具类
package jdbcUtil;
import java.io.FileReader;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
public class JUtils {//工具类封装了 资源释放 和 注册驱动 以及 连接数据库
private static String url;
private static String user;
private static String password;
private static String driver;
static {//写入静态代码块意味着只需要执行一次(注册驱动,连接数据库)
try {
Properties pro=new Properties();
pro.load(new FileReader("src/jdbc.properties"));
url=pro.getProperty("url");
user=pro.getProperty("user");
password=pro.getProperty("password");
driver=pro.getProperty("driver");
Class.forName(driver);//只要执行了工具类,必然会加载注册驱动,因为静态代码块
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConnnection() throws SQLException {
return DriverManager.getConnection(url,user,password);
}
public static void close(Statement stmt,Connection con){
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con!=null){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
//查询语句由于需要显示内容,所以重载方法添加一个结果集释放
public static void close(Statement stmt, Connection con, ResultSet rs){
if(stmt!=null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(con!=null){
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(rs!=null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
下面就可以直接使用JUtils工具类了,由于里面的方法都是静态的,故直接使用 **类名.**调用。
实例:
package MS;
import jdbcUtil.JUtils;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
public class jdbc5 {
public static void main(String[] args) {
Statement statement=null;
Connection connection=null;
int count=0;
try {
connection= JUtils.getConnnection();
statement = connection.createStatement();
String sql="UPDATE stu set sname='XXX' WHERE sname='XXX'";
count= statement.executeUpdate(sql);
} catch (SQLException e) {
e.printStackTrace();
}finally {
JUtils.close(statement,connection);
if(count>0){
System.out.println("修改成功");
}else{
System.out.println("修改失败");
}
}
}
}