Spring DataSource配置

来源:互联网 发布:nginx redis缓存 编辑:程序博客网 时间:2024/06/13 21:42

1,pom.xml:

    <dependency>        <groupId>org.apache.commons</groupId>        <artifactId>commons-dbcp2</artifactId>        <version>2.1.1</version>    </dependency>    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>6.0.6</version>    </dependency>

2,spring配置:

<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>            <property name="url" value="jdbc:mysql://localhost:3306/spring?serverTimezone=UTC"></property>            <property name="username" value="root"></property>            <property name="password" value="qwer1234"></property>    </bean>

2,UserDao.java:

@Repository("userDao")public class UserDao {    @Resource    private DataSource dataSource;    public void addUser(){        Connection conn=null;        PreparedStatement pstmt=null;        try{            conn=dataSource.getConnection();            String sql="insert into t_user(username,password) values (?,?)";            pstmt=conn.prepareStatement(sql);            pstmt.setString(1, "name");            pstmt.setString(2, "123456");            pstmt.executeUpdate();            ......        } catch(Exception e){            e.printStackTrace();        }     }    public DataSource getDataSource() {        return dataSource;    }    public void setDataSource(DataSource dataSource) {        this.dataSource = dataSource;    }}

3,测试:

public class HymanJunitTest extends TestCase {    @Test    public void testAddUser(){        ApplicationContext applicationContext=new ClassPathXmlApplicationContext("spring/applicationContext.xml");        UserDao userDao=(UserDao) applicationContext.getBean("userDao");        userDao.addUser();    }}

4,或者用一个配置文件来配置数据库连接信息:
(1)spring配置文件:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property name="locations">            <value>classpath:database/jdbc.properties</value>        </property>   </bean>   <bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp2.BasicDataSource">        <property name="driverClassName" value="${jdbc.driverClassName}"></property>        <property name="url" value="${jdbc.url}"></property>        <property name="username" value="${jdbc.username}"></property>        <property name="password" value="${jdbc.password}"></property>   </bean>

(2) jdbc.properties文件:

jdbc.driverClassName=com.mysql.cj.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/spring?serverTimezone=UTCjdbc.username=rootjdbc.password=qwer1234

其他地方都不需要改变。

原创粉丝点击