Spring使用jdbcJdbcTemplate和三种方法配置数据源

三种方法配置数据源

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

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

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

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

Spring连接数据库

1.创建dao

public interface SelectAllEmpDao {
    public void selectAll();
}

2.创建实现类

public class SelectAllEmpImpl extends JdbcDaoSupport implements SelectAllEmpDao {

    @Override
    public void selectAll() {
        String sql = "select * from emp";

        List<Map<String, Object>> list = this.getJdbcTemplate().queryForList(
                sql);

        List<Emp> empList = new ArrayList<Emp>();

        for (Map<String, Object> map : list) {
            Emp e = new Emp();
            e.setId(((BigDecimal) map.get("id")).intValueExact());
            e.setName(map.get("name").toString());
            e.setAge(((BigDecimal) map.get("age")).intValueExact());

            empList.add(e);
        }
    }
}

3.配置xml

(1)配置数据源

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

(2)配置jdbcTemplate,并引用dataSource

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

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

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

(4)测试

@Test
    // Spring使用jdbc查询表中所有记录
    public void selectAll() {
        ApplicationContext ac = new ClassPathXmlApplicationContext(
                "applicationContext.xml");

        SelectAllEmpDao selectAllEmpDao = (SelectAllEmpDao) ac
                .getBean("selectAllEmpDao");

        selectAllEmpDao.selectAll();
    }
时间: 2024-10-06 02:48:09

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

Spring实例化bean的三种方法

1.用构造器来实例化 [html] view plain copy print? <bean id="hello2" class="com.hsit.hello.impl.ENhello" /> 2.使用静态工厂方法实例化 要写一个bean,bean中定义一个静态方法,生成bean,配置factory-method指定静态方法,运行时容器就会自动调用静态方法生成实例 bean [java] view plain copy print? package c

spring在xml文件中配置bean的三种方法

一.最常见,也是缺省,是调用spring的缺省工厂类 spring缺省工厂类:org.springframework.beans.factory.support.DefaultListableBeanFactory使用其静态方法preInstantiateSingletons() 配置文件中最普通最基本的定义一个普通bean<bean id="DvdTypeDAOBean" class="com.machome.dvd.impl.DvdTypeDAO" >

Spring框架笔记(十一)——IOC容器创建bean实例的第三种方法——FactoryBean

IOC容器创建bean实例有3类方法: 1 通过bean对应实例的全类名 2 通过工厂方法,包括静态工厂和实例工厂 3 实现 FactoryBean 接口在 Spring IOC 容器中配置 Bean 今天我们介绍这第三种方法--FactoryBean Spring 中有两种类型的 Bean, 一种是普通Bean, 另一种是工厂Bean, 即FactoryBean. 工厂 Bean 跟普通Bean不同, 其返回的对象不是指定类的一个实例, 其返回的是该工厂 Bean 的 getObject 方法

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

导读 RHEL7里面的网卡命名方式从eth0,1,2的方式变成了enoXXXXX的格式. en代表的是enthernet (以太网),o 代表的是onboard (内置),那一串数字是主板的某种索引编号自动生成,以便保证其唯一性.和原先的命名方式对比,这种新的方式比较长,难以记忆,不过优点在于编号唯一,做系统迁移的时候不容易出错. 1.修改/etc/sysconfig/network-scripts/eno16777736 查看你的网卡名称(本机是eno16777736): [[email pr

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

一.概述 对于实现Bean信息定义的目标,它提供了基于XML.基于注解及基于java类这三种选项.下面总结一下三种配置方式的差异. 二.Bean不同配置方式比较. 三.Bean不同配置方式的适用场合. 四.总结. 一般我们适用XML配置DataSource.SessionFactory等资源的Bean,在XML中利用aop.context命名空间进行主题的配置.其他所有项目中开发的Bean用注解的形式来配置.这就是采用了"XML+基于配置"的配置方式,很少采用基于Java类的配置方式.

vue-cli 利用 webpack 给生产环境和发布环境配置不同的接口地址的三种方法

第一种方法: 在/config/dev.env.js下配置如下 在/config/prod.env.js下配置如下 已经分别设定路径,接下来就是如何调用的问题了. 原来api文件里代码如图所示 修改为 然后就完成了我们的配置工作.最后,重启项目,就能使新配置的接口地址生效了. 在经过这样的配置之后,我们在运行 npm run dev 的时候,跑的就是开发环境的接口.而我们运行 npm run build 打包项目的时候,打包的是服务器正式接口,我们就不用调来调去得了. 第二种方法: 可以使用 "

VS中C#读取app.config数据库配置字符串的三种方法(转)

VS中C#读取app.config数据库配置字符串的三种方法(转) http://hi.baidu.com/mindox/item/3278dc352c7ba68fb80c0389 http://www.blogjava.net/keweibo/articles/391207.html 关于VS2008或VS2005中数据库配置字符串的三种取法 VS2008建立Form程序时,如果添加数据源会在配置文件 app.config中自动写入连接字符串,这个字符串将会在你利用DataSet,SqlDat

Spring学习(二)spring ioc注入的三种方式

一.spring ioc注入有哪三种方式: a setter 原理 : 在目标对象中,定义需要注入的依赖对象对应的属性和setter方法:"让ioc容器调用该setter方法",将ioc容器实例化的依赖对象通过setter注入给目标对象,封装在目标对象的属性中. b 构造器 原理 : 为目标对象提供一个构造方法,在构造方法中添加一个依赖对象对应的参数.ioc容器解析时,实例化目标对象时会自动调用构造方法,ioc只需要为构造器中的参数进行赋值:将ioc实例化的依赖对象作为构造器的参数传入

java实现定时任务的三种方法

java实现定时任务的三种方法 详解java定时任务 定时器的实现.java定时器介绍与Spring中定时器的配置 java定时器简单了解 ------------------ java定时器执行多个方法