本帖最后由 lovemiya 于 2018-5-21 16:27 编辑
JDBC高级
事务管理的核心思想:高可用: 代码层面:
代码的复用性:把一些相同的或者相似的操作抽取出来 程序的解耦合:外部的配置文件 面向接口编程:
设计模式:装饰着模式
高性能: 继承: 装饰者模式:
连接池概述自定义连接池的实现步骤编写一个类实现DataSource接口 重写getConnection方法 初始化多个连接在内存中 编写归还连接的方法
自定义连接池问题及解决问题解决Druid开源连接池概述使用
DruidDataSource dataSource = new DruidDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql:///web_test4");
dataSource.setUsername("root");
dataSource.setPassword("abc");
Connection conn = dataSource.getConnection();
//还可以使用配置文件的方式
//文件名称没有规定,但是key要一一对照
DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);C3P0开源连接池概述使用手动设置参数方式
ComboPooledDataSource dataSource = new ComboPooledDataSource();
// 设置连接参数:
dataSource.setDriverClass("com.mysql.jdbc.Driver");
dataSource.setJdbcUrl("jdbc:mysql:///web_test4");
dataSource.setUser("root");
dataSource.setPassword("abc");
// 从连接池中获得连接:
conn = dataSource.getConnection();
采用配置文件的方式
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<dafault-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql:///web_test4</property>
<property name="user">root</property>
<property name="password">yangxuan</property>
</dafault-config>
</c3p0-config>
ComboPooledDataSource dataSource = new ComboPooledDataSource();
conn = dataSource.getConnection();DBUtils常用API构造方法
方法
updata(String sql, Object...params) updata(Connection conn, String sql, Object...params) query(String sql, ResultSetHandler<T> rsh, Object...params) query(Connection conn, String sql, ResultSetHandler<T> rsh, Object...params) commitAndCloseQuietly(Connection conn) rollbackAndCloseQuietly(Connection conn)
|
|