在后端开发过程中,访问数据库似乎是无可避免的。在Spring框架中,集成了数多种数据访问技术,不管你是通过JDBC还是Hibernate关系映射实现数据持久化,Spring都能够帮你消除持久化代码中那些单调枯燥的数据访问逻辑。
一、Spring持久层的定义
- 为避免持久化的逻辑分散到应用的各个组件中,spring定义了数据访问对象组件(data access object,DAO)或Respository
- 为了解耦合,编写Respository应该以接口方式暴露。也就是我们常见的service,dao分离
二、Spring配置数据源
Spring配置数据源有多种方式
-
通过XML配置
<!-- DBCP数据库连接池,这里所有的值都是写死的 --> <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/smbms? useUnicode=true&characterEncoding=utf-8" /> <property name="username" value="root" /> <property name="password" value="root" /> </bean>
-
XML配置+db.properties配置文件
这种方式就是多一个一个配置文件,xml各项的值从配置文件里取值
driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/smbms?useUnicode=true&characterEncoding=utf-8 user=root password=root
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${user}"/> <property name="password" value="${password}"/> </bean>
-
通过JavaConfig形式配置
@Configuration public class DataSourceConfig{ @Bean public BasicDataSource dataSource(){ BaiscDataSource bs = new BasicDataSource(); bs.setDriverClassName("com.mysql.jdbc.Driver"); bs.setUsername("root"); bs.setPassword("root"); bs.setInitialSize(5); bs.setMaxActive(10); } }
-
Spring多种数据源配置,请参看:https://blog.csdn.net/davidbieber/article/details/82896604