三种方法配置数据源

1.需要引入jar包:spring-jdbc-4.3.2.RELEASE.jar

  1. <!-- spring内置,springJdbc,配置数据源 -->
  2. <bean id="dataSource"
  3. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  4. <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
  5. <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
  6. <property name="username" value="123"></property>
  7. <property name="password" value="123"></property>
  8. </bean>

2.需要引入2个jar包:(1).spring-framework-3.0.2.RELEASE-dependencies\org.apache.commons\com.springsource.org.apache.commons.dbcp\1.2.2.osgi\com.springsource.org.apache.commons.dbcp-1.2.2.osgi.jar

(2).spring-framework-3.0.2.RELEASE-dependencies\org.apache.commons\com.springsource.org.apache.commons.pool\1.5.3\com.springsource.org.apache.commons.pool-1.5.3.jar

  1. <!-- dbcp,配置数据源 -->
  2. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
  3. <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
  4. <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
  5. <property name="username" value="123"></property>
  6. <property name="password" value="123"></property>
  7. </bean>

3.c3p0配置数据源,并引用了一个在src目录下自定义创建的一个.properties文件,并使用${}设值

!需要引入jar包:spring-framework-3.0.2.RELEASE-dependencies\com.mchange.c3p0\com.springsource.com.mchange.v2.c3p0\0.9.1.2\com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar

  1. <!-- c3p0,配置数据源 -->
  2. <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
  3. <property name="driverClass" value="${jdbc.driver}"></property>
  4. <property name="jdbcUrl" value="${jdbc.url}"></property>
  5. <property name="user" value="${jdbc.name}"></property>
  6. <property name="password" value="${jdbc.password}"></property>
  7. </bean>

Spring连接数据库

1.创建dao

  1. public interface SelectAllEmpDao {
  2. public void selectAll();
  3. }

2.创建实现类

  1. public class SelectAllEmpImpl extends JdbcDaoSupport implements SelectAllEmpDao {
  2.  
  3. @Override
  4. public void selectAll() {
  5. String sql = "select * from emp";
  6.  
  7. List<Map<String, Object>> list = this.getJdbcTemplate().queryForList(
  8. sql);
  9.  
  10. List<Emp> empList = new ArrayList<Emp>();
  11.  
  12. for (Map<String, Object> map : list) {
  13. Emp e = new Emp();
  14. e.setId(((BigDecimal) map.get("id")).intValueExact());
  15. e.setName(map.get("name").toString());
  16. e.setAge(((BigDecimal) map.get("age")).intValueExact());
  17.  
  18. empList.add(e);
  19. }
  20. }
  21. }

3.配置xml

(1)配置数据源

  1. <!-- spring内置,springJdbc,配置数据源 -->
  2. <bean id="dataSource"
  3. class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  4. <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"></property>
  5. <property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl"></property>
  6. <property name="username" value="bdqn"></property>
  7. <property name="password" value="bdqn"></property>
  8. </bean>

(2)配置jdbcTemplate,并引用dataSource

  1. <!-- 配置template,并为其注入dataSource -->
  2. <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
  3. <property name="dataSource" ref="dataSource"></property>
  4. </bean>

(3).注册业务bean,并引用jdbcTemplate

  1. <!-- 查询emp所有记录数 -->
  2. <bean id="selectAllEmpDao" class="cn.cnsdhzzl.dao.impl.SelectAllEmpImpl">
  3. <property name="jdbcTemplate" ref="jdbcTemplate"></property>
  4. </bean>

(4)测试

  1. @Test
  2. // Spring使用jdbc查询表中所有记录
  3. public void selectAll() {
  4. ApplicationContext ac = new ClassPathXmlApplicationContext(
  5. "applicationContext.xml");
  6.  
  7. SelectAllEmpDao selectAllEmpDao = (SelectAllEmpDao) ac
  8. .getBean("selectAllEmpDao");
  9.  
  10. selectAllEmpDao.selectAll();
  11. }

注:由于底层进行了判断所以可以省略引用jdbcTemplate,直接引用dateSource。

Spring使用jdbcJdbcTemplate和三种方法配置数据源的更多相关文章

  1. spring集成JPA的三种方法配置

    JPA是Java EE5规范之一,是一个orm规范,由厂商来实现该规范.目前有hibernate,OpenJPA,TopLink和EclipseJPA等实现 spring提供三种方法集成JPA:1.L ...

  2. spring注入bean的三种方法

    在Spring的世界中, 我们通常会利用bean config file 或者 annotation注解方式来配置bean. 在第一种利用bean config file(spring xml)方式中 ...

  3. 吴裕雄--天生自然JAVA SPRING框架开发学习笔记:Spring实例化Bean的三种方法

    在面向对象的程序中,要想调用某个类的成员方法,就需要先实例化该类的对象.在 Spring 中,实例化 Bean 有三种方式,分别是构造器实例化.静态工厂方式实例化和实例工厂方式实例化. 构造器实例化 ...

  4. 使用spring的事务的三种方法

    1.编程式事务管理 spring的配置文件 <!-- 事务管理器 --> <bean id="transactionManager" class="or ...

  5. Spring实例化bean的三种方法

    1.用构造器来实例化 <bean id="hello2" class="com.hsit.hello.impl.ENhello" /> 2.使用静态 ...

  6. Spring实例化Bean三种方法:构造器、静态工厂、实例工厂

    Spring中Bean相当于java中的类,可以通过xml文件对bean进行配置和管理. 一.Bean的实例化: 构造器实例化.静态工厂实例化.实例工厂方式实例化. 目录: 构造器实例化: xml配置 ...

  7. RHEL7.0 配置网络IP的三种方法

    导读 RHEL7里面的网卡命名方式从eth0,1,2的方式变成了enoXXXXX的格式. en代表的是enthernet (以太网),o 代表的是onboard (内置),那一串数字是主板的某种索引编 ...

  8. 菜鸟学习Spring——SpringIoC容器基于三种配置的对比

    一.概述 对于实现Bean信息定义的目标,它提供了基于XML.基于注解及基于java类这三种选项.下面总结一下三种配置方式的差异. 二.Bean不同配置方式比较. 三.Bean不同配置方式的适用场合. ...

  9. Spring 使用AspectJ的三种方式

    Spring 使用AspectJ 的三种方式 一,使用JavaConfig 二,使用注解隐式配置 三,使用XML 配置 背景知识: 注意 使用AspectJ 的 时候 要导入相应的Jar 包 嗯 昨天 ...

随机推荐

  1. 【转】利用Pspice分析放大器环路的稳定性

    文章来源: http://www.21ic.com/app/test/201108/90808.htm 虽然在较低频率下可以较轻松地检查一个简单放大器的稳定性,但评估一个较为复杂的电路是否稳定,难度可 ...

  2. 程序间数据共享与传递:EXPORT/IMPORT、SAP/ABAP Memory

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  3. OnClientClick的用法

    摘自:http://blog.csdn.net/coolpig86/article/details/5439560 OnClientClick用于执行客户端脚本.当我们单击一个按钮时,最先执行的是On ...

  4. BeanUtils框架的简单运用

    Sun公司的内省API过于繁琐,所以Apache组织结合很多实际开发中的应用场景开发了一套简单.易用的API操作Bean的属性——BeanUtils Beanutils工具包的常用类: •BeanUt ...

  5. 如何在本机上将localhost改为www.dev.com

    windows上安装好服务器后,打开本地目录 C:\Windows\System32\drivers\etc\ ,会看到有个hosts文件,打开后里面的代码为: # Copyright (c) - M ...

  6. 原生js如何获取当前所加载网页的文件路径和名称

    结合使用string对象中的substr()和lastIndexOf()方法. 当前页面路径:file:///C:/Users/Administrator/Desktop/test.html < ...

  7. NEU校园网登录器

    http://www.cnblogs.com/weidiao/p/5124106.html 改自学长的博客. 我们的目标是写一个程序实现自动登录校园网.而这基于的是表单的post机制. 输入校园网网址 ...

  8. Python学习(17)异常处理

    目录 Python 异常处理 Python 标准异常 异常处理 使用except而不带任何异常类型 使用except而带多种异常类型 try-finally 语句 异常参数 异常的参数 用户自定义参数 ...

  9. 线程高级应用-心得4-java5线程并发库介绍,及新技术案例分析

    1.  java5线程并发库新知识介绍 2.线程并发库案例分析 package com.itcast.family; import java.util.concurrent.ExecutorServi ...

  10. (二)shell中case语句、程序传参、while

    2.2.6.1.case语句(1)shell中的case语句和C语言中的switch case语句作用一样,格式有差异(2)shell中的case语句天生没有break,也不需要break,和C语言中 ...