Jdbc,数据库连接池,jdbcTemplate
Jdbc,数据库连接池,jdbcTemplate
jdbc
-
思维导图
-
代码
public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取数据库连接对象Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javademo","root","123456");//3.定义sql语句String sql="create table jdbcdemo1(id int)";//4.获取执行sql的对象StatementStatement statement = con.createStatement();//5.执行sqlboolean isCreate=statement.execute(sql);//6.释放资源statement.close();con.close();}
数据池
-
思维导图
-
代码
配置文件
<c3p0-config><!-- 使用默认的配置读取连接池对象 --><default-config><!-- 连接参数 --><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/javademo</property><property name="user">root</property><property name="password">123456</property><!-- 连接池参数 --><property name="initialPoolSize">5</property><property name="maxPoolSize">10</property><property name="checkoutTimeout">3000</property></default-config><named-config name="otherc3p0"> <!-- 连接参数 --><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/javademo</property><property name="user">root</property><property name="password">123456</property><!-- 连接池参数 --><property name="initialPoolSize">5</property><property name="maxPoolSize">8</property><property name="checkoutTimeout">1000</property></named-config>
</c3p0-config>
public static void main(String[] args) throws SQLException {//1.创建数据库连接池对象 使用默认配置ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();//不使用默认配置
// ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource("otherc3p0");//2.获取连接对象,可以在配置文件中设定连接池中最大数量for (int i = 0; i <=10 ; i++) {Connection connection = comboPooledDataSource.getConnection();System.out.println(i+":"+connection);}}
jdbcTemplate
-
导入jia包
-
创建一个jdbcTemplate.依赖于数据源Datasource
jdbcTemplate template =new JdbcTemplate(ds);
- 调用jdbcTemplate方法完成CRUD操作
update():执行DML语句.
queryFormao():查询结果将结果封装为map集合
queryForList():查询结果将结果封装为list集合
query():查询结果,将结果封装为javaBean对象
queryForObject:查询结果,将结果封装为对象
获取数据源,这里采用的是druid连接池
private static DataSource ds ;static{try {//1.加载配置文件Properties pro = new Properties();pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));//2.获取DataSourceds = DruidDataSourceFactory.createDataSource(pro);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}
}public static DataSource getDataSource(){return ds;}
public static void main(String[] args) {JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());String sql="update account set balance=2000 where id=?";int count=jdbcTemplate.update(sql,2);System.out.println(count);
}
Jdbc,数据库连接池,jdbcTemplate
Jdbc,数据库连接池,jdbcTemplate
jdbc
-
思维导图
-
代码
public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取数据库连接对象Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/javademo","root","123456");//3.定义sql语句String sql="create table jdbcdemo1(id int)";//4.获取执行sql的对象StatementStatement statement = con.createStatement();//5.执行sqlboolean isCreate=statement.execute(sql);//6.释放资源statement.close();con.close();}
数据池
-
思维导图
-
代码
配置文件
<c3p0-config><!-- 使用默认的配置读取连接池对象 --><default-config><!-- 连接参数 --><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/javademo</property><property name="user">root</property><property name="password">123456</property><!-- 连接池参数 --><property name="initialPoolSize">5</property><property name="maxPoolSize">10</property><property name="checkoutTimeout">3000</property></default-config><named-config name="otherc3p0"> <!-- 连接参数 --><property name="driverClass">com.mysql.jdbc.Driver</property><property name="jdbcUrl">jdbc:mysql://localhost:3306/javademo</property><property name="user">root</property><property name="password">123456</property><!-- 连接池参数 --><property name="initialPoolSize">5</property><property name="maxPoolSize">8</property><property name="checkoutTimeout">1000</property></named-config>
</c3p0-config>
public static void main(String[] args) throws SQLException {//1.创建数据库连接池对象 使用默认配置ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();//不使用默认配置
// ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource("otherc3p0");//2.获取连接对象,可以在配置文件中设定连接池中最大数量for (int i = 0; i <=10 ; i++) {Connection connection = comboPooledDataSource.getConnection();System.out.println(i+":"+connection);}}
jdbcTemplate
-
导入jia包
-
创建一个jdbcTemplate.依赖于数据源Datasource
jdbcTemplate template =new JdbcTemplate(ds);
- 调用jdbcTemplate方法完成CRUD操作
update():执行DML语句.
queryFormao():查询结果将结果封装为map集合
queryForList():查询结果将结果封装为list集合
query():查询结果,将结果封装为javaBean对象
queryForObject:查询结果,将结果封装为对象
获取数据源,这里采用的是druid连接池
private static DataSource ds ;static{try {//1.加载配置文件Properties pro = new Properties();pro.load(JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties"));//2.获取DataSourceds = DruidDataSourceFactory.createDataSource(pro);} catch (IOException e) {e.printStackTrace();} catch (Exception e) {e.printStackTrace();}
}public static DataSource getDataSource(){return ds;}
public static void main(String[] args) {JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());String sql="update account set balance=2000 where id=?";int count=jdbcTemplate.update(sql,2);System.out.println(count);
}