spring学习——数据库(mybatis持久化框架配置)

Spring提供了一组数据访问框架,集成了多种数据访问技术。无论是JDBC,iBATIS(mybatis)还是Hibernate,Spring都能够帮助消除持久化代码中单调枯燥的数据访问逻辑。可以依赖Spring来处理底层的数据访问。

mybatis是一种Spring持久化框架,要使用mybatis,就要做好相应的配置:

1,配置数据源。有很多数据源可以选择,如:DBCP,JDBC,alibaba的druid。相关的配置都大同小异,以druid做一个例子:

<bean name="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
		<property name="url" value="${jdbc_url}" />
		<property name="username" value="${jdbc_username}" />
		<property name="password" value="${jdbc_password}" />
	
		<property name="initialSize" value="1" />		
		<property name="maxActive" value="20" />	
		<property name="maxIdle" value="20" />
		<property name="minIdle" value="1" />		
		<property name="maxWait" value="60000" />
		
		<property name="validationQuery" value="SELECT 'x'" />
		<property name="testOnBorrow" value="false" />
		<property name="testOnReturn" value="false" />
		<property name="testWhileIdle" value="true" />
		<property name="timeBetweenEvictionRunsMillis" value="60000" />
		<property name="minEvictableIdleTimeMillis" value="25200000" />
		<property name="removeAbandoned" value="true" />
		<property name="removeAbandonedTimeout" value="1800" />
		<property name="logAbandoned" value="true" />
		<property name="filters" value="Stat" />
	</bean>

 配置里基本都是一些属性的设置。这里还需要一个properties 的配置文件来对${jdbc_url},${jdbc_username},${jdbc_password}进行具体的设定:

driver=com.mysql.jdbc.Driver
jdbc_url=jdbc:mysql://localhost:3306/mybatis
jdbc_username=root
jdbc_password=123456

 2,声明mybatis的session工厂。session接口提供了基本的数据访问功能,如保存、更新、删除以及从数据库加载对象的功能(通常说的增删改查)。通过mybatis的session接口,应用程序的DAO(data access object)能够满足所有的持久化需求。

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="typeAliasesPackage" value="paytool.model"/>
		<property name="mapperLocations" value="classpath:paytool/mapping/*.xml" />
	</bean>

 这里主要对3个属性进行了配置。dataSource用到了之前配置的数据源。typeAliasesPackage指定是在value设定的包下的类。mapperLocations指定了value设定路劲下的*.xml文件。

3,mybatis自动扫描加载

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="paytool.dao" />
		<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
	</bean>

 4, 事务管理(事务的概念理解就不具体介绍了)

<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource" />
	</bean>

5,使用声明式事务

<tx:annotation-driven transaction-manager="transactionManager"/>

 spring-mybatis的配置就这样配置好了,接下来就可以编写代码了。

你可能感兴趣的:(mybatis)