第一步 让我来介绍下初学者怎么快速更好的使用mybatis这个框架
使用mybatis的话,每个Dao就对于一个相应的xml文件,我来给个例子个大家看,先要配置好环境。在application.xml里面
<!-- c3p0 connection pool configuration 数据库的配置 -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${jdbc.driverClass}" /> <!-- 数据库驱动 -->
<property name="jdbcUrl" value="${jdbc.url}" /> <!-- 连接URL串 -->
<property name="user" value="${jdbc.user}" /> <!-- 连接用户名 -->
<property name="password" value="${jdbc.password}" /> <!-- 连接密码 -->
<property name="initialPoolSize" value="${jdbc.initialPoolSize}" /> <!-- 初始化连接池时连接数量为5个 -->
<property name="minPoolSize" value="${jdbc.minPoolSize}" /> <!-- 允许最小连接数量为5个 -->
<property name="maxPoolSize" value="${jdbc.maxPoolSize}" /> <!-- 允许最大连接数量为20个 -->
<property name="numHelperThreads" value="20" /> <!-- 允许最大连接数量为20个 -->
<property name="maxStatements" value="100" /> <!-- 允许连接池最大生成100个PreparedStatement对象 -->
<property name="maxIdleTime" value="3600" /> <!-- 连接有效时间,连接超过3600秒未使用,则该连接丢弃 -->
<property name="acquireIncrement" value="2" /> <!-- 连接用完时,一次产生的新连接步进值为2 -->
<property name="acquireRetryAttempts" value="5" /> <!-- 获取连接失败后再尝试10次,再失败则返回DAOException异常 -->
<property name="acquireRetryDelay" value="600" /> <!-- 获取下一次连接时最短间隔600毫秒,有助于提高性能 -->
<property name="testConnectionOnCheckin" value="true" /> <!-- 检查连接的有效性,此处小弟不是很懂什么意思 -->
<property name="idleConnectionTestPeriod" value="1200" /> <!-- 每个1200秒检查连接对象状态 -->
<property name="checkoutTimeout" value="10000" /> <!-- 获取新连接的超时时间为10000毫秒 -->
</bean>
<!-- 创建SqlSessionFactory,同时指定数据源 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
<!--创建数据映射器,数据映射器必须为接口 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="annotationClass" value="org.springframework.stereotype.Repository" />
<property name="basePackage" value="com.shishuo.studio.dao" />
</bean>
然后我在dao层写个类
package com.shishuo.studio.dao;
import java.util.List;
import org.apache.ibatis.annotations.Param;