![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8d56ec572e38b304211974fb9d98310c.png)
mydriveClass=com.mysql.jdbc.Driver
myurl=jdbc:mysql://localhost:3306/db1
myuser=root
mypassword=root
package demo01;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;
public class Utils {
// public static String url = "jdbc:mysql://localhost:3306/db1";
// public static String user = "root";
// public static String password = "root";
//一般情况下,如果有些代码需要在项目启动的时候就执行,这时候就需要静态代码块。
//比如一个项目启动需要加载的很多配置文件等资源,我们就可以都放入静态代码块中。
static Properties p=new Properties();
static {
// try {
// Class.forName("com.mysql.jdbc.Driver");
// } catch (ClassNotFoundException e) {
// e.printStackTrace();
// }
//ClassLoader loader = Thread.currentThread().getClass().getClassLoader();
ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream inputStream = loader.getResourceAsStream("db.properties");
try {
p.load(inputStream);
Class.forName(p.getProperty("mydriveClass"));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static Connection getConnection() {
Connection con=null;
try {
// con = DriverManager.getConnection(Utils.url, Utils.user, Utils.password);
con = DriverManager.getConnection(p.getProperty("myurl"), p.getProperty("myuser"), p.getProperty("mypassword"));
} catch (Exception e) {
e.printStackTrace();
}
return con;
}
public static Statement getStatement(Connection con) throws Exception {
Statement statement=null;
if(con!=null) {
statement = con.createStatement();
}
return statement;
}
public void close(ResultSet ret, Statement st,Connection con) throws Exception {
if (ret != null) {
ret.close();
}
if (st != null) {
st.close();
}
if (con != null) {
con.close();
}
}
public static ResultSet getResultSet(String sql) throws Exception {
Connection con = Utils.getConnection();
Statement ste=Utils.getStatement(con);
ResultSet resultSet = ste.executeQuery(sql);
return resultSet;
}
//影响行数
public static int addLineOrdeleteLineOrModifyLine(String sql) throws Exception {
Connection con = Utils.getConnection();
Statement ste=Utils.getStatement(con);
int update = ste.executeUpdate(sql);
//return ste.executeUpdate(sql);
return update;
}
}