搭建环境---导入需要的jar包
另外这里我们不使用c3p0连接池,取而代之的是dbcp连接池(性能似乎没有c3p0好) 把该jar也加入到项目中
classpath路径下:配置如下,创建mybatis文件夹和spring文件夹 分别用来保存他们对应的xml文件(因为将来的配置文件可能非常多 这样使项目结构更加的清晰)
------------------------------------------------
在applicationContext.xml中配置sqlSessionFactory和数据源
<!-- 数据源,使用dbcp --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${jdbc.driver}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <property name="maxActive" value="10" /> <property name="maxIdle" value="5" /> </bean> <!-- sqlSessinFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 加载mybatis的配置文件 --> <property name="configLocation" value="mybatis/SqlMapConfig.xml" /> <!-- 数据源 --> <property name="dataSource" ref="dataSource" /> </bean>
sqlSessionFactory在mybatis和spring整合包中:
整合测试一:mybatis与spring整合:通过spring管理原始dao对象 进行数据的查询
user.xml
在SqlMapconfig.xml中加载User.xml
接口以及实现类:
注意:实现类中继承SqlSessionDaoSupport类 来得到sqlSession 所以在配置该类bean对象时 需要注入sqlSessionFactory,
就像hibernate框架中的一样 dao实现类继承SesssionFactoryDaoSupport 在配置实现类对应的bean的时候 也是需要注入sessionfactory对象的
然后再applicationContext.xml中配置dao对应的bean对象
测试:因为此时项目是java项目 不需要部署项目到服务器 选择手动加载spring.xml文件 所以此时不需要配置spring核心配置文件的监听器(web.xml中) 手动加载该配置文件
结果:
整合测试二:mybatis与spring整合:通过spring管理mapper代理对象 进行数据的查询
1.通过配置bean对象的方式
mapper映射文件和mapper接口
在mybatis核心配置文件中加载映射文件
配置bean: 通过MapperFactoryBean创建代理对象
测试:
2.通过注解方式 扫描创建bean对象
而且此时在SqlMapConfig.xml中 加载mapper映射文件的代码可以删除了 但是注意上边需要遵循的规范
----------------------------------