Spring JdbcTemplate使用实例
来源:互联网 发布:军训教官 知乎 编辑:程序博客网 时间:2024/06/10 10:00
JdbcTemplate简介
Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。JdbcTemplate位于spring-jdbc-4.3.7.RELEASE.jar中。
其全限定命名为org.springframework.jdbc.core.JdbcTemplate。要使用JdbcTemlate还需一个spring-tx-4.3.7.RELEASE.jar这个包包含了一下事务和异常控制引自http://www.cnblogs.com/caoyc/p/5630622.html
实例
package com.mysql;import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import javax.sql.DataSource;import org.junit.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.jdbc.core.BeanPropertyRowMapper;import org.springframework.jdbc.core.JdbcTemplate;import org.springframework.jdbc.core.RowMapper;public class TestJDbc { private ApplicationContext ctx =null; private JdbcTemplate jdbcTemplate; { ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); jdbcTemplate = (JdbcTemplate)ctx.getBean("jdbcTemplate"); } @Test public void testDataSource() throws SQLException{ DataSource dataSource = ctx.getBean(DataSource.class); System.out.println(dataSource.getConnection()); } @Test public void updateTest(){ String sql = "UPDATE person SET age = ? WHERE id = ?"; jdbcTemplate.update(sql,"16",1); } @Test public void testBatchUpdate(){ String sql = "INSERT INTO person(id,name,age) VALUES(?,?,?)"; List<Object[]> batchArgs = new ArrayList<>(); batchArgs.add(new Object[]{"2","ming","15"}); batchArgs.add(new Object[]{"3","xin","156"}); batchArgs.add(new Object[]{"4","wang","14"}); jdbcTemplate.batchUpdate(sql, batchArgs); } @Test public void testQueryForObject(){ String sql = "SELECT id , name ,age,address addr FROM person WHERE id =?"; //用别名来映射数据库中字段和类之间的属性的关系 RowMapper<Person> rowMapper = new BeanPropertyRowMapper<>(Person.class); Person per = jdbcTemplate.queryForObject(sql,rowMapper,1); System.out.println(per); } @Test public void testQueryForList(){ String sql ="SELECT id , name , age ,address addr FROM person WHERE id >?"; RowMapper<Person> rowMapper = new BeanPropertyRowMapper<>(Person.class); List<Person> perList = jdbcTemplate.query(sql, rowMapper,1); System.out.println(perList); }}
总结
(1)使用RowMapper来进行数据库中每行记录和实体类的匹配
(2)用别名来映射数据库中字段和类之间的属性的关系
(3)使用org.springframework.jdbc.core.RowMapper
而不是javax.swing.tree.RowMapper
(4)使用javax.sql.DataSource
而不是javax.activation.DataSource
(5)理解数据源的配置关系
阅读全文
0 0
- Spring JdbcTemplate使用实例
- Spring JdbcTemplate实例
- spring之jdbcTemplate实例
- Spring JdbcTemplate实例
- Spring:使用JdbcTemplate的简单实例-基于XML文件配置
- Spring:使用JdbcTemplate的简单实例-基于注释
- Spring 使用JdbcTemplate
- spring-jdbcTemplate使用
- Spring 中的JdbcTemplate使用
- Spring的jdbcTemplate使用
- Spring 中的JdbcTemplate使用
- Spring 中的JdbcTemplate使用
- Spring JdbcTemplate使用
- Spring JdbcTemplate使用
- Spring之JDBCTemplate使用
- spring jdbcTemplate简单使用
- spring 使用JdbcTemplate
- Spring的jdbcTemplate使用
- RabbitMQ和kafka从几个角度简单的对比
- error c3872:"0Xa0":此字符不允许在标识符中使用
- rocketmq集群搭建(多Master多Slave模式异步复制)
- 微信小程序 开发列表
- iOS 开发中经常使用的到宏
- Spring JdbcTemplate使用实例
- ElasticSearch5.3插件开发(二)获取集群健康信息
- 微信小程序ajax请求到自己的网站
- unittest 中用于跳过 test method, test class,的相关装饰器
- 最详细的Log4教程
- 配置ADS,使ADS编译出bin文件,并使用uboot下载运行成功
- 二分图——洛谷P3386 【模板】二分图匹
- CodeForces 810C Do you want a date? 【数学】【排序】
- 漫画赏析:Linux 内核到底长啥样