dede wap网站模板,网站显示图片标记,成品网站1688入口,产品关键词文章目录 Spring JdbcTemplateJdbcTemplate概述JdbcTemplate开发步骤Spring产生JdbcTemplate对象 Spring JdbcTemplate
JdbcTemplate概述
它是spring框架中提供的一个对象#xff0c;是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多的操作模板类。例如是对原始繁琐的JdbcAPI对象的简单封装。spring框架为我们提供了很多的操作模板类。例如操作关系型数据的JdbcTemplate和HibernateTemplate操作nosql数据库的RedisTemplate操作消息队列的JmsTemplate等等。
JdbcTemplate开发步骤
① 导入spring-jdbc和spring-tx坐标 ② 创建数据库表和实体 ③ 创建JdbcTemplate对象 ④ 执行数据库操作
① 导入spring-jdbc和spring-tx坐标 dependencygroupIdorg.springframework/groupIdartifactIdspring-jdbc/artifactIdversion5.2.8.RELEASE/version/dependency!--导入spring的tx坐标--dependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion5.2.8.RELEASE/version/dependency②创建accout表和Accout实体
public class Account {private String name;private double money;//省略get和set方法
}③创建JdbcTemplate对象 ④执行数据库操作
//1、创建数据源对象
ComboPooledDataSource dataSource new ComboPooledDataSource();dataSource.setDriverClass(com.mysql.jdbc.Driver);dataSource.setJdbcUrl(jdbc:mysql://localhost:3306/test);dataSource.setUser(root);dataSource.setPassword(root);//2、创建JdbcTemplate对象
JdbcTemplate jdbcTemplate new JdbcTemplate();//3、设置数据源给JdbcTemplatejdbcTemplate.setDataSource(dataSource);//4、执行操作
jdbcTemplate.update(insert into account values(?,?),tom,5000);Spring产生JdbcTemplate对象
我们可以将JdbcTemplate的创建权交给Spring将数据源DataSource的创建权也交给Spring在Spring容器内部将数据源DataSource注入到JdbcTemplate模版对象中配置如下
!--数据源DataSource--bean iddataSource classcom.mchange.v2.c3p0.ComboPooledDataSourceproperty namedriverClass valuecom.mysql.jdbc.Driver/propertyproperty namejdbcUrl valuejdbc:mysql:///test/propertyproperty nameuser valueroot/propertyproperty namepassword valueroot/property/bean!--JdbcTemplate--bean idjdbcTemplate classorg.springframework.jdbc.core.JdbcTemplateproperty namedataSource refdataSource/property/bean从容器中获得JdbcTemplate进行添加操作
Testpublic void testSpringJdbcTemplate() throws PropertyVetoException{ApplicationContext applicationContext new
ClassPathXmlApplicationContext(applicationContext.xml);JdbcTemplate jdbcTemplate applicationContext.getBean(JdbcTemplate.class);jdbcTemplate.update(insert into account values(?,?),lucy,5000);}修改操作
RunWith(SpringJUnit4ClassRunner.class)ContextConfiguration(classpath:applicationContext.xml)public class JdbcTemplateCRUDTest {Autowiredprivate JdbcTemplate jdbcTemplate;Test//测试修改操作
public void testUpdate(){jdbcTemplate.update(update account set money? where
name?,1000,tom);}}删除和查询全部操作
Testpublic void testDelete(){jdbcTemplate.update(delete from account where name?,tom);}Testpublic void testQueryAll(){ListAccount accounts jdbcTemplate.query(select * from account, new
BeanPropertyRowMapperAccount(Account.class));for (Account account : accounts) {System.out.println(account.getName());}}查询单个数据操作操作
Test//测试查询单个对象操作
public void testQueryOne(){Account account jdbcTemplate.queryForObject(select * from account where
name?, new BeanPropertyRowMapperAccount(Account.class), tom);System.out.println(account.getName());}Test//测试查询单个简单数据操作(聚合查询)public void testQueryCount(){Long aLong jdbcTemplate.queryForObject(select count(*) from account,
Long.class);System.out.println(aLong);}