Spring核心技术之JDBC支持
2016-10-04 19:45
357 查看
Spring核心技术之JDBC支持
Spring核心技术之JDBC支持概述
使用步骤
参考资料
概述
Spring对c3p0连接池的支持很完善,Spring对jdbc提供了JdbcTemplate,来简化JDBC的操作,JdbcTemplate模板工具类类似于DbUtils组件。使用步骤
引入Jar包,参见spring-jdbc包使用JdbcTemplate工具包
App.java
package com.jpzhutech.jdbc; import java.sql.SQLException; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { private static ApplicationContext applicationContext = new ClassPathXmlApplicationContext("com/jpzhutech/jdbc/applicationContext.xml"); public static void main(String[] args) throws SQLException { UserDao userDao = (UserDao)applicationContext.getBean("userDao"); //userDao.save(); //调用保存数据到数据中的方法 userDao.finById(19); return; } }
Admin.java
package com.jpzhutech.jdbc; public class Admin { private int id; private String userName; private String pwd; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public Admin(int id, String userName, String pwd) { this.id = id; this.userName = userName; this.pwd = pwd; } public Admin() { super(); } @Override public String toString() { return "Admin [id=" + id + ", userName=" + userName + ", pwd=" + pwd + "]"; } }
USerDao.java
package com.jpzhutech.jdbc; import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import javax.sql.DataSource; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper; public class UserDao { //创建连接池以及连接池对象,IOC注入方式 private DataSource dataSource ; public void setDataSource(DataSource dataSource) { this.dataSource = dataSource; } public void save(){ //将数据保存到数据库中,采用c3p0连接池操作数据库 String sql = "insert into admin(id,username,pwd) values(10000,'贾敏','123456')"; //创建SQL语句 //使用Jdbc模板工具类来简化jdbc操作 JdbcTemplate jdbcTemplate = new JdbcTemplate(); jdbcTemplate.setDataSource(dataSource); //使用set方法传递数据源 try { jdbcTemplate.update(sql); } catch (Exception e) { System.out.println("插入不成功"); //只能用异常的方式处理插入不成功的情况 //当发生插入异常时,需要将此情况报告给客户端,让用户看见没有插入成功 } } public Admin finById(int id ){ String sql = "select * from admin where id=? "; JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); //Map<String, Object> queryForMap = jdbcTemplate.queryForMap(sql,id); //List<Map<String, Object>> list = jdbcTemplate.queryForList(sql); //System.out.println(queryForMap); //System.out.println(list); //下面的方法才是比较常用的方法 List<Admin> list = jdbcTemplate.query(sql, new RowMapper<Admin>(){ //如何封装一行记录 @Override public Admin mapRow(ResultSet rs, int index) throws SQLException { Admin admin = new Admin(); admin.setId(rs.getInt("id")); admin.setUserName("username"); admin.setPwd("pwd"); return admin; } },id); System.out.println(list.toString()); return null; } }
bean.xml
<?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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!-- 创建数据源对象,创建c3p0连接池 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="org.postgresql.Driver"></property> <property name="jdbcUrl" value="jdbc:postgresql://192.168.100.120:5432/postgres"></property> <property name="user" value="postgres"></property> <!-- <property name="password"></property> --> <property name="initialPoolSize" value="3"></property> <property name="maxPoolSize" value="10"></property> <property name="maxStatements" value="100"></property> <property name="acquireIncrement" value="2"></property> </bean> <!-- 创建UserDao对象 --> <bean id ="userDao" class="com.jpzhutech.jdbc.UserDao"> <property name="dataSource" ref="dataSource"></property> </bean> </beans>
参考资料
http://lehsyh.iteye.com/blog/1579737http://blog.csdn.net/dyllove98/article/details/7772463
相关文章推荐
- 《Spring 2.0技术手册》 读书笔记七-Spring的DAO框架(2)-JDBC支持
- 《Spring 2.0技术手册》 读书笔记七-Spring的DAO框架(2)-JDBC支持
- 《Spring 2.0技术手册》 读书笔记七-Spring的DAO框架(2)-JDBC支持
- spring2.5整合hibernate3.3的泛型Dao并加入spring jdbc的支持
- spring对JDBC的支持
- 祝贺《Spring 2.0核心技术与最佳实践》入选2007十大技术图书!
- Spring核心技术
- Spring对JDBC提供支持----JdbcTemplate
- spring2.5整合hibernate3.3的泛型Dao并加入spring jdbc的支持
- Spring核心技术之Ioc和AOP
- Spring核心技术(1)控制反转(Inversion of Control,IoC)理论
- Spring之重点理解语句概念:核心技术
- Creating Complete JDBC Applications 关于JDBC应用的核心技术
- Spring 对JDBC操作的支持
- J2EE的核心技术之JDBC简介篇
- 传智播客--Spring的AOP和spring对Jdbc的支持(佟刚)
- 新书上市《Spring 2.0核心技术与最佳实践》
- 《Spring 2.0核心技术与最佳实践》即将上市
- Spring核心技术学习总结
- Spring支持的Remoting实现技术