spring学习笔记(16)--Spring DataSource
来源:互联网 发布:软件行业就业分析 编辑:程序博客网 时间:2024/06/09 17:16
1.beans.xml
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/myblog"/> <property name="username" value="root"/> <property name="password" value="root"/> </bean>
这个不用多说了
2.在IUserDAOImpl.java 中需要注入一个DataSource,然后得到一个Connection 然后对数据库进行操作
package org.sh.spring.impl;import java.sql.Connection;import java.sql.SQLException;import java.util.List;import java.util.Map;import java.util.Set;import javax.annotation.Resource;import javax.sql.DataSource;import org.sh.spring.DAO.IUserDAO;import org.sh.spring.model.User;import org.springframework.stereotype.Component;@Component("u")public class IUserDAOImpl implements IUserDAO {private DataSource dataSource;private Set<String> sets;private List<String> lists;public DataSource getDataSource() {return dataSource;}@Resourcepublic void setDataSource(DataSource dataSource) {this.dataSource = dataSource;}public IUserDAOImpl() {}@Overridepublic void save(User user) {try {Connection conn = dataSource.getConnection();conn.createStatement().executeUpdate("insert into users(username,password) values('suhao1','suhao')");} catch (SQLException e) {e.printStackTrace();}System.out.println("user saved");}@Overridepublic String toString() {return "daoID=" + this.daoId;}}
3.测试程序:
@Testpublic void testSave() {ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");IUserDAO ud = (IUserDAO)ctx.getBean("userservice");System.out.println(ud.getClass());User u = new User();ud.save(u);}
测试结果:
method start...
user saved
数据库查看
最后一条数据位插入的数据,注入导入DataSource需要使用到的包:
并且把 数据库连接的jar也导入项目 我使用的是mysql数据库 导入mysqljdbc即可
总结:
1. Spring 指定datasource
a) 参考文档,找dbcp.BasicDataSource
i. c3p0
ii. dbcp
iii. proxool
b) 在DAO或者Service中注入dataSource
c) 在Spring中可以使用PropertyPlaceHolderConfigure来读取Properties文件的内容
使用PropertyPlaceHolderConfigure来读取Properties文件:
bean.xml
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>classpath:jdbc.properties</value> </property></bean><bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}"/> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/></bean>
${jdbc.driverClassName} 将会到locations指定的位置 jdbc.properties 文件中查找;
jdbc.properties:
jdbc.driverClassName=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/myblogjdbc.username=rootjdbc.password=root
测试结果:
class $Proxy6
method start...
user saved
0 0
- spring学习笔记(16)--Spring DataSource
- Spring DataSource
- spring DataSource
- Spring DataSource
- Spring Boot 学习6--DataSource-MySql
- Spring学习笔记16
- 毕业设计(五)---spring学习笔记(3)之-dataSource,sessionFactory,hibernateTemplate,事务 的简单配置。
- spring中的dataSource
- spring'datasource 配置
- Spring的dataSource配置
- spring中获取datasource
- Spring DataSource 配置
- spring datasource 配置
- Spring DataSource配置方式
- spring datasource 注入
- Spring之DataSource注入 .
- spring配置datasource
- Spring dataSource配置
- pat1077
- jstl字符串处理
- tinymce上传图片方法
- 算法导论2学习
- mysql公用类库
- spring学习笔记(16)--Spring DataSource
- 【前/中/后缀表达式的转换 】
- 磁盘管理
- websocket入门
- java classLoader机制
- 关于std:auto_ptr
- HDU 4433 locker (线性dp)
- C#中Thread.sleep()
- 2013年网购报告:用户破三亿交易额近两万亿元