网站新手引导怎么做,免费个人网站域名,做学校网站的目的是什么,qq邮箱怎么在手机qq上打开wordpress1. 概述 Spring 框架提供了很多持久层的模板类来简化编程;Spring 框架提供的JDBC模板类: JdbcTemplate 类;Spring 框架提供的整合 Hibernate 框架的模板类: HibernateTemplate 类2. 环境搭建 2.1 创建数据库表结构 CREATE TABLE t_account(id INT PRIMARY KEY AUTO_INCREMENT,…1. 概述 Spring 框架提供了很多持久层的模板类来简化编程;Spring 框架提供的JDBC模板类: JdbcTemplate 类;Spring 框架提供的整合 Hibernate 框架的模板类: HibernateTemplate 类2. 环境搭建 2.1 创建数据库表结构 CREATE TABLE t_account(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),money DOUBLE
); 2.2 导入 jar 包 Spring 框架的基本开发包(6个);Spring 的传统AOP的开发包 spring-aop-4.3.10.RELEASEorg.aopalliance-1.10.0 (在 Spring 依赖包中)aspectJ 的开发包 org.aspectj.weave-1.6.8.RELEASE.jar (在 Spring 依赖包中)spring-aspects-4.3.10.RELEASE.jarJDBC 模板所需 jar 包 mysql-connector-java.jar: MySql 驱动包;Spring-jdbc.jar;Spring-tx.jar: Spring 事务包;2.3 编写测试代码 // 第一种方式: 采用 new 对象的方式完成
Test
public void fun(){// 使用 Spring 内置的连接池,创建连接池DriverManagerDataSource dataSource new DriverManagerDataSource();dataSource.setDriverClassName(com.mysql.jdbc.Driver);dataSource.setUrl(jdbc:mysql://localhost:3306/mydb2);dataSource.setUsername(root);dataSource.setPassword(root);// 创建模板类JdbcTemplate jdbcTemplate new JdbcTemplate(dataSource);// 完成数据添加JdbcTemplate.update(INSERT INTO t_account VALUES(null,?,?),张三,1000);
}// 第二种方式: 采用 IOC 的方式
// applicationContext.xml 配置!-- 配置连接池 --
bean iddataSource classorg.springframework.jdbc.datasource.DriverManagerDataSourceproperty namedriverClassName valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/mydb2/property nameusername valueroot/property namepassword valueroot/
/beaen!-- 配置 JDBC 的模板类 --
bean idjdbcTemplate classorg.springframework.jdbc.core.JdbcTemplateproperty namedataSource refdataSource/
/bean// 测试类RunWith(SpringJUnit4ClassRunner.class)ContextConfiguration(classpath:applicationContext.xml)public class Demo2{Resource(namejdbcTemplate)private JdbcTemplate jdbcTemplate;Testpublic void fun(){// update(String sql, Object...params); 可以完成增删改操作jdbcTemplate.update(INSERT INTO t_account VALUES(null,?,?),张三,1000);}Testpublic void fun2(){// 查询// 第一种方式: 通过主键查询一条记录// queryForObject(String sql, RowMapperT rowMapper, Object... params)Account ac jdbcTemplate.queryForObject(SELECT * FROM t_account WHERE id?,new BeanMapper(),1);}Testpublic void fun3(){// 查询// 第二种方式: 查询所有// query(String sql, RowMapperT rowMapper, Object... params)ListAccount ac jdbcTemplate.query(SELECT * FROM t_account,new BeanMapper());}}// 自己手动的来封装数据(一行一行的封装)public class BeanMapper implements RowMapperAccount{public Account mapRow(ResultSet rs, int rowNum) throws SQLException{Account ac new Account();ac.setId(rs.getInt(id));ac.setName(rs.getString(name));ac.setMoney(rs.getDouble(money));return ac;}}// javaBean 用于封装查询到的结果
public class Account{private Integer id;private String name;private Double money;get 和 set 方法...
} 3. Spring 框架管理开源的连接池 3.1 管理 DBCP 连接池 引入 DBCP 的 jar 包 org.apache.commong.dbcp-1.2.2.osgi.jarorg.apache.commons.pool-1.5.3.jar编写配置文件bean iddataSource classorg.apache.commons.dbcp.BasicDataSourceproperty namedriverClassName valuecom.mysql.jdbc.Driver/property nameurl valuejdbc:mysql://localhost:3306/mydb2/property nameusername valueroot/property namepassword valueroot/
/bean 3.2 管理 C3P0 连接池 引入 c3p0 的 jar包 com.mchange.v2.c3p0-0.9.1.2.jar编写配置文件bean iddataSource classcom.mchange.v2.c3p0.ComboPooledDataSourceproperty namedriverClass valuecom.mysql.jdbc.Driver/property namejdbcUrl valuejdbc:mysql://localhost:3306/mydb2/property nameuser valueroot/property namempassword valueroot/
/bean 参考资料 Spring 入门视频转载于:https://www.cnblogs.com/linkworld/p/7722598.html