在resource文件下创建db.properties文件内容为
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/jdbc?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=true username=root password=1234
创建基础类BaseDao.java引入properties文件内容
package com.peng.dao; import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties; public class BaseDao { private static String driver; private static String url; private static String username; private static String password; static { Properties properties = new Properties(); InputStream is = BaseDao.class.getClassLoader().getResourceAsStream("db.properties"); try { properties.load(is); } catch (IOException e) { e.printStackTrace(); } driver=properties.getProperty("driver"); url=properties.getProperty("url"); username=properties.getProperty("username"); password=properties.getProperty("password"); } public static Connection GetConnection() throws Exception { Connection connection=null; Class.forName(driver); connection = DriverManager.getConnection(url, username, password); return connection; } //查询公共方法 public static ResultSet execute(Connection connection, PreparedStatement preparedStatement,ResultSet resultSet,String sql,Object[] params) throws SQLException { preparedStatement = connection.prepareStatement(sql); for (int i = 0; i < params.length; i++) { //setObject占位符从1开始,但是Object[]数组从0开始 preparedStatement.setObject(i+1,params[i]); } resultSet = preparedStatement.executeQuery(); return resultSet; } //增删改公共方法 public static int execute(Connection connection,String sql,PreparedStatement preparedStatement,Object[] params) throws SQLException { preparedStatement = connection.prepareStatement(sql); for (int i = 0; i < params.length; i++) { //setObject占位符从1开始,但是Object[]数组从0开始 preparedStatement.setObject(i+1,params[i]); } int update = preparedStatement.executeUpdate(sql); return update; } //释放资源 public static boolean close(Connection connection,PreparedStatement preparedStatement,ResultSet resultSet) { boolean flog=true; if(resultSet!=null){ try { resultSet.close(); resultSet=null; } catch (SQLException e) { e.printStackTrace(); flog=false; }} if(preparedStatement!=null){ try { preparedStatement.close(); preparedStatement=null; } catch (SQLException e) { e.printStackTrace(); flog=false; }} if(connection!=null){ try { connection.close(); connection=null; } catch (SQLException e) { e.printStackTrace(); flog=false; } } return flog; } }