您的位置:首页 > 编程语言 > Java开发

spring+dao+jdbctemplate+datasource配置开发样例

2017-07-16 10:35 302 查看
http://blog.csdn.net/Trigl/article/details/50934675?locationNum=1&fps=1


1 配置数据源

Spring并没有提供数据源连接池实现,但是apache的DBCP是一个不错 选择,DBCP包含了多个提供连接池功能的数据源,其中BasicDataSource是最常使用的,在XML中的配置如下:
<!-- 数据源定义 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:orcl" />
<property name="username" value="KFDB" />
<property name="password" value="KFDB" />
<!-- 池启动时创建的连接数量 -->
<property name="initialSize" value="1" />
<!-- 同一时间可从池中分配的最多连接数,如果设置为0,表示无限制 -->
<property name="maxActive" value="50" />
<!-- 池里不会被释放的最多空闲连接数,如果设置为0,表示无限制 -->
<property name="maxIdle" value="5" />
<!-- 在不创建新连接的情况下,池中保持空闲的最小连接数 -->
<property name="minIdle" value="15" />
<!-- 在抛出异常之前,池等待连接回收的最大时间(当没有可用连接时),如果设置为-1,表示无限等待(毫秒) -->
<property name="maxWait" value="10000" />
<!-- 空闲池空闲连接激活线程的运行间隔时间(毫秒) -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 连接在池中保持空闲而不被回收的最大时间(毫秒) -->
<property name="minEvictableIdleTimeMillis" value="10000" />
</bean>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22


2 使用SimpleJdbcTemplate访问数据库

在DAO层装配SimpleJdbcTemplate
package com.trigl.springjdbc;

import org.springframework.jdbc.core.simple.SimpleJdbcTemplate;

public class UserDao1 {

private SimpleJdbcTemplate jdbcTemplate;

public void setJdbcTemplate(SimpleJdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}

private static final String SQL_INSERT_USER ="insert into jdbc_test (user_id, name, password, realname, email) values (seq_user.nextval, ?, ?, ?, ?)";
public void addUser(User user) {
jdbcTemplate.update(SQL_INSERT_USER,  user.getUsername(), user.getPassword(),user.getRealName(),user.getEmail());
System.out.println("新增用户成功!用户信息为:" + user);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14

注意这里必须有setter方法,因为装配bean就是通过setter方法实现的。

XML中配置SimpleJdbcTemplate
<!-- SimpleJdbcTemplate -->
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate">
<constructor-arg ref="dataSource"></constructor-arg>
</bean>

<!-- userDao1 -->
<bean id="userDao1" class="com.trigl.springjdbc.UserDao1">
<property name="jdbcTemplate" ref="jdbcTemplate"></property>
</bean>

测试类

package com.trigl.springjdbc;

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

publicclassUserDao1Test
{

publicstaticvoidmain(String[]
args) {

ApplicationContext ctx =new
ClassPathXmlApplicationContext("config/bean.xml");

UserDao1 userDao1 = (UserDao1)ctx.getBean("userDao1");

User user =new
User("Trigl","123456","白鑫","18810690994@163.com");

userDao1.addUser(user);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: