Spring与Mybatis的整合方法都有哪些
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring与Mybatis的整合方法都有哪些相关的知识,希望对你有一定的参考价值。
参考技术A 1)Spring配置文件:<!-- 引入jdbc配置文件 -->
<context:property-placeholder location="jdbc.properties"/>
<!--创建jdbc数据源 -->
<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="$username"/>
<property name="password" value="$password"/>
<property name="initialSize" value="$initialSize"/>
<property name="maxActive" value="$maxActive"/>
<property name="maxIdle" value="$maxIdle"/>
<property name="minIdle" value="$minIdle"/>
</bean>
<!-- 创建SqlSessionFactory,同时指定数据源-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
</bean>
<!--创建数据映射器,数据映射器必须为接口-->
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="com.xxt.ibatis.dbcp.dao.UserMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
<bean id="userDaoImpl2" class="com.xxt.ibatis.dbcp.dao.impl.UserDaoImpl2">
<property name="userMapper" ref="userMapper"/>
</bean>
(2)数据映射器UserMapper,代码如下:
public interface UserMapper
@Select("SELECT * FROM user WHERE id = #userId")
User getUser(@Param("userId") long id);
(3)dao接口类UserDao,代码如下:
public interface UserDao
public User getUserById(User user);
(4)dao实现类UserDaoImpl2,,代码如下:
public class UserDaoImpl2 implements UserDao
private UserMapper userMapper;
public void setUserMapper(UserMapper userMapper)
this.userMapper = userMapper;
public User getUserById(User user)
return userMapper.getUser(user.getId());
2、采用接口org.apache.ibatis.session.SqlSession的实现类org.mybatis.spring.SqlSessionTemplate。
mybatis中, sessionFactory可由SqlSessionFactoryBuilder.来创建。
MyBatis-Spring 中,使用了SqlSessionFactoryBean来替代。
SqlSessionFactoryBean有一个必须属性dataSource,另外其还有一个通用属性configLocation(用来指定mybatis的xml配置文件路径)。
以上是关于Spring与Mybatis的整合方法都有哪些的主要内容,如果未能解决你的问题,请参考以下文章