配置文件:database.properties
内容:
driver = com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/emp?useUnicode=true&characterEncoding=UTF-8 username=root
password=123456
initialSize=10 maxActive=20 minIdle=5 maxWait=3000
网络操作方法文件(DbUtils)
//配置数据源
public class DbUtils { private static DruidDataSource ds; private static final ThreadLocal<Connection> THREAD_LOCAL =new ThreadLocal<>(); static { Properties properties =new Properties(); InputStream is = DbUtils.class.getResourceAsStream("/database.properties"); try { properties.load(is); ds = (DruidDataSource) DruidDataSourceFactory.createDataSource(properties); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
//获取连接对象
public static Connection getconnection(){ Connection connection = THREAD_LOCAL.get(); try { if (connection == null){ if (connection ==null) { connection = ds.getConnection(); THREAD_LOCAL.set(connection); } } } catch (SQLException e) { e.printStackTrace(); } return connection; }
//对数据库的一些操作方法 public static void begin(){ Connection connection =null; try { connection = getconnection(); connection.setAutoCommit(false); } catch (SQLException e) { e.printStackTrace(); } } public static void commit(){ Connection connection =null; try { connection =getconnection(); connection.commit(); } catch (SQLException e) { e.printStackTrace(); }finally{ closeAll(connection,null,null); } } public static void rollback(){ Connection connection =null; try { connection =getconnection(); connection.rollback(); } catch (SQLException e) { e.printStackTrace(); }finally{ closeAll(connection,null,null); } } public static void closeAll(Connection connection, Statement statement, ResultSet resultSet){ try { if (resultSet!=null){ resultSet.close(); } if (statement!=null){ statement.close(); } if (connection!=null){ connection.close(); THREAD_LOCAL.remove(); } } catch (SQLException e) { e.printStackTrace(); } }