16.Spring_使用JdbcTemplate
来源:互联网 发布:linux查看jar文件内容 编辑:程序博客网 时间:2024/06/05 09:57
使用JdbcTemplate来操作数据库。
javaBean
ublic class Admin {private String adminNumber;private String adminPassword;public String getAdminNumber() {return adminNumber;}public void setAdminNumber(String adminNumber) {this.adminNumber = adminNumber;}public String getAdminPassword() {return adminPassword;}public void setAdminPassword(String adminPassword) {this.adminPassword = adminPassword;}@Overridepublic String toString() {return "admin [adminNum=" + adminNumber + ", adminPassword="+ adminPassword + "]";}}
资源文件:(使用derby数据库和c3p0数据库连接池)
jdbc.user=a2181745jdbc.password=a210006104583jdbc.driverClass=org.apache.derby.jdbc.ClientDriverjdbc.jdbcUrl=jdbc:derby://localhost:1527/d:/\syllabusDBjdbc.initPoolSize=5jdbc.maxPoolSize=10
Spring配置文件:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 导入资源文件 --><context:property-placeholder location="classpath:db.properties" /><!-- 配置c3p0 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${jdbc.user}"></property><property name="password" value="${jdbc.password}"></property><property name="jdbcUrl" value="${jdbc.jdbcUrl}"></property><property name="driverClass" value="${jdbc.driverClass}"></property><property name="initialPoolSize" value="${jdbc.initPoolSize}"></property><property name="maxPoolSize" value="${jdbc.maxPoolSize}"></property></bean><!-- 配置JdbcTemplate --><bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"><property name="dataSource" ref="dataSource"></property></bean><!-- 配置 NamedParameterJdbcTemplate 对象,该对象可以使用具名参数,其没有无参构造器,所以必须传递参数--><bean id="NamedParameterJdbcTemplate" class="org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate"><constructor-arg ref="dataSource"></constructor-arg> </bean></beans>
测试:
public class JDBCTest {private ApplicationContext ctx= null;private JdbcTemplate jdbcTemplate= null;{ctx= new ClassPathXmlApplicationContext("applicationContext.xml");jdbcTemplate = (JdbcTemplate) ctx.getBean("jdbcTemplate");}}<span style="font-family: Arial, Helvetica, sans-serif;">/**</span>
* 从数据库中获取一条记录,实际得到对应的一个对象 * * 其中RowMapper指定如何去映射结果集的行, * 使用sql中列的别名完成列名和类的属性名的映射 * ,如下admin_password与对象中的adminPassword映射、 * 不支持级联属性 */@Testpublic void testQueryForObject() {String sqlString="select admin_number ,admin_password from t_admin where admin_number= ?"; BeanPropertyRowMapper<Admin> rowMapper= new BeanPropertyRowMapper<>(Admin.class);Admin admin=jdbcTemplate.queryForObject(sqlString, rowMapper,"a2181745");System.out.println(admin);}/* * 获取单个值,或统计查询 * 使用如下方法: * queryForObject(String sql, Class<Long> requiredType) */@Testpublic void testQueryForBoject2() {String sql="select count(admin_number) from t_admin";long count =jdbcTemplate.queryForObject(sql, Long.class);System.out.println(count);}/** * 执行数据库操作 */@Testpublic void testUpdate() {String sqlString = "update T_ADMIN set ADMIN_PASSWORD = ? where ADMIN_NUMBER= ?";//jdbcTemplate.update(sqlString, "a","a");jdbcTemplate.update(sqlString,"11111","a2181745");}/** * 得到实体类的集合 */@Testpublic void testQueryForList() { String sql = "select admin_number ,admin_password from t_admin"; BeanPropertyRowMapper<Admin> rowMapper=new BeanPropertyRowMapper<>(Admin.class); List<Admin> admins= jdbcTemplate.query(sql, rowMapper); System.out.println(admins);}/** * 批量操作: * 最后一个参数:是Object[]数组的List */@Testpublic void testBatchUpdate() {String sqlString="insert into t_admin(admin_number,admin_password) values(?,?)";List<Object[]> batchArgs=new ArrayList<Object[]>();batchArgs.add(new Object[] {"AA","123"});batchArgs.add(new Object[] {"AA2","123"});batchArgs.add(new Object[] {"AA3","123"});batchArgs.add(new Object[] {"AA4","123"});jdbcTemplate.batchUpdate(sqlString, batchArgs);}@Testpublic void testDataSource() throws SQLException {DataSource dataSource =ctx.getBean(DataSource.class);System.out.println(dataSource.getConnection());}}
0 0
- 16.Spring_使用JdbcTemplate
- 17.Spring_使用NamedParameterJdbcTemplate
- spring_使用CGlib 创建代理
- JdbcTemplate使用
- jdbcTemplate使用
- (八)spring_使用外部属性文件
- Spring_使用XML配置文件进行读取
- Spring_使用XML配置文件创建对象
- Spring_使用XML配置文件实现依赖注入
- 22.spring_使用xml配置事务
- 06Spring_使用注解配置bean对象
- Spring 使用JdbcTemplate
- spring-jdbcTemplate使用
- Spring 中的JdbcTemplate使用
- jdbctemplate的使用
- Spring的jdbcTemplate使用
- Spring 中的JdbcTemplate使用
- Spring 中的JdbcTemplate使用
- iOS开发网络篇—文件下载(二·合理)
- 好记性不如烂笔头41-javaWeb应用中ServletRequest域的监听(5)
- LaTeX,eps图片Bounding Box入门介绍
- 清除eclipse中 Launch configuration的历史记录
- Android四大基本组件介绍与生命周期
- 16.Spring_使用JdbcTemplate
- 怎么把pdf格式的文章转换为ppt文件
- 0108 SpringMVC与Struts2的对比【基础】
- mysql 创建定时器
- Java使用-总结-1
- W: 无法下载 http://cn.archive.ubuntu.com/ubuntu/....校验和不符
- 使用intentService与service有什么不同呢
- 关于XML的读写操作以及查询操作
- 2014年总结