Spring配置数据源

我们是使用的是maven,我们下载节点即可。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>4.3.3.RELEASE</version>
</dependency>

 <!--spring-jdbcjar 包-->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>4.3.3.RELEASE</version>
</dependency>
<!--commons-dncpjar 包-->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-dbcp2</artifactId>
    <version>2.1.1</version>
</dependency>

<!--c3p0jar 包-->
<dependency>
    <groupId>c3p0</groupId>
    <artifactId>c3p0</artifactId>
    <version>0.9.1.2</version>
</dependency>

<!--mysql数据库驱动-->
<dependency>
     <groupId>org.wisdom-framework</groupId>
     <artifactId>mysql-connector-java</artifactId>
     <version>5.1.34_1</version>
</dependency>(1)创建分层  beans层(实体类)   dao(表示层)  biz(业务逻辑层) web(数据展示) util(工具类层)BEANS:public class Book {
    private Integer id;
    private String name;
    private String price;

    public Book() {
    }

    public Book(String name, String price) {
        this.name = name;
        this.price = price;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }
}DAO:
public interface BookDao {
    int add(Book book);

    List<Book> selectAll();
}使用注解的方式实现方法的实现层impl
@Repository
public class BookDaoImpl extends  JdbcDaoSupport implements BookDao {

    public int add(Book book) {
        int count = this.getJdbcTemplate().update("insert into book(name,price) values(?,?)",book.getName(),book.getPrice());
        return count;
    }

    public List<Book> selectAll() {
        return this.getJdbcTemplate().query("select * from book",new MyRowMapper());
    }
    @Autowired
    public void setJdbcTemplate2(JdbcTemplate jbdcTemplate){
        super.setJdbcTemplate(jbdcTemplate);
    }
}你可能会问为啥要定义setJdbcTemplate2()方法呢?
 public final void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
        this.jdbcTemplate = jdbcTemplate;
        initTemplateConfig();
    }

    @Override
    protected void checkDaoConfig() {
        if (this.jdbcTemplate == null) {
            throw new IllegalArgumentException("‘dataSource‘ or ‘jdbcTemplate‘ is required");
        }
    }该方法源自父类的方法,并且是经过final修饰,我们都知道被final修饰的方法是不能被修改的,当我们自己不重新定义方法,而是使用相同的方法名时,会出现错误。BIZ:
public interface BookBiz {
    int add(Book book);

    List<Book> selestAll();
}Biz层方法的实现层impl:
@Service("bookBiz")
public class BookBizImpl implements BookBiz {
    @Resource
    private BookDao dao;
    public int add(Book book) {
        return dao.add(book);
    }

    public List<Book> selestAll() {
        return dao.selectAll();
    }
}
public class FirstTest {
    @Test
    public void findTwo(){
        ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContexttemp.xml");
        BookBiz proxy=(BookBiz) ctx.getBean("bookBiz");
        int count = proxy.add(new Book("hello ", "45"));
        System.out.println(count);
    }

    @Test
    public void findOne(){
        ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContexttemp.xml");
        BookBiz proxy=(BookBiz) ctx.getBean("bookBiz");
        List<Book> list = proxy.selestAll();
        for (Book item  : list) {
            System.out.println(item.getName());
        }
    }
}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:context="http://www.springframework.org/schema/context"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       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
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"><!--配置数据源-->
<!--spring 内置-->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>
    <!--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.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>-->
    <!--定义dbcp数据源-->
    <!--<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource">
        <property name="driverClassName" value="${jdbc.driver}"></property>
        <property name="url" value="${jdbc.url}"></property>
        <property name="username" value="${jdbc.username}"></property>
        <property name="password" value="${jdbc.password}"></property>
    </bean>-->先这么多吧。。。。。。。。。。。。
时间: 2024-09-30 03:44:21

Spring配置数据源的相关文章

Spring配置数据源的常用方式

Spring配置数据源的常用方式 在应用程序中配置数据源 (1).在classpath中创建连接参数的配置文件,如db-config.properties,内容如下: driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/zzp username=root password=admin (2).在Spring的配置文件中引入参数配置文件,代码如下: <!-- 配置spring资源文件 --> <bean id=

spring配置数据源连接池

spring配置详解-连接池配置(转载) 一.连接池概述 数据库连接池概述: 数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出.对数据库连接的管理能显著影响到整个 应用程序的伸缩性和健壮性,影响到程序的性能指标.数据库连接池正是针对这个问题提出来的. 数据库连接池负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而再不是重新建立一个:释放空闲时 间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏.这项技术

Spring 配置数据源

配置一个数据源     Spring在第三方依赖包中包含了两个数据源的实现类包,其一是Apache的DBCP,其二是 C3P0.可以在Spring配置文件中利用这两者中任何一个配置数据源. DBCP数据源     DBCP类包位于 /lib/jakarta-commons/commons-dbcp.jar,DBCP 是一个依赖 Jakarta commons-pool对象池机制的数据库连接池,所以在类路径下还必须包括/lib/jakarta- commons /commons-pool.jar.

Spring配置数据源的几种方法

一:数据源的配置1.通过JNDI配置数据源    1.在tomcat context.xml中配置数据源        <Resource name="jdbc/ds" auth="Container"         type="javax.sql.DataSource" driverClassName="oracle.jdbc.driver.OracleDriver"         url="jdbc:o

Spring配置数据源的几种形式

Spring中提供了4种不同形式的数据源配置方式: 1.Spring自带的数据源(DriverMangerDataSource); 2.DBCP数据源; 3.C3P0数据源; 4.JNDI数据源. 以上数据源配置需要用的Jar包在http://www.java2s.com/Code/Jar/c/Catalogc.htm中都可以下载到 下面详细介绍这四种数据源配置方式: DriverMangerDataSource 其对应的配置文件XML代码 <bean id="dataSource&quo

使用Spring配置数据源JdbcTemplate

spring使用jdbc功能 (注:记得导入spring jdbc(添加对jdbc的支持) tx(添加对事务的支持) 的jar包)我这里使用的连接池是 c3p0作为演示 1.编写资源文件(db.properties) jdbc.user=root jdbc.password=root jdbc.jdbcUrl=jdbc:mysql://localhost:3306/spring jdbc.driverClass=com.mysql.jdbc.Driver 2.在SpringXML配置中获取数据源

Spring中配置数据源的4种形式(转)

原文http://blog.csdn.net/orclight/article/details/8616103 不管采用何种持久化技术,都需要定义数据源.Spring中提供了4种不同形式的数据源配置方式: spring自带的数据源(DriverManagerDataSource),DBCP数据源,C3P0数据源,JNDI数据源. 1.spring自带的数据源 DriverManagerDataSource XML代码: [html] view plaincopy <bean id="dat

spring 多数据源切换

spring配置管理多数据源,方便服务访问不同数据库时,数据源切换.多少无意,直接上代码. 1.定义数据源key枚举值(可以直接使用字符串代替,为了代码的整洁及易读性,这里使用枚举) public enum DataSourceEnum { anquan, publ, tlshow, } 2.定义数据源持有者,切换数据源使用 public final class DataSourceHolder { private static ThreadLocal<DataSourceEnum> curr

spring in action学习笔记十六:配置数据源的几种方式

第一种方式:JNDI的方式. 用xml配置的方式的代码如下: 1 <jee:jndi-lookup jndi-name="/jdbc/spittrDS" resource-ref="true" id="dataSource"/> 用注解方式的代码如下: 1 @Bean 2 public JndiObjectFactoryBean jndiObjectFactoryBean(){ 3 JndiObjectFactoryBean jndi