Spring与Mybatis的整合方法有哪些

网友投稿 177 2023-07-27


Spring与Mybatis的整合方法有哪些

本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接

http://code.google.com/p/mybatis/下载到。

1、采用数据映射器(MapperFactoryBean)的方式,不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数。

(1)Spring配置文件:

(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配置文件路径)。

(1)Spring配置文件:

 

    

     

   

   

  

  <!- -   -->

 

(2)mybatis总配置文件sqlMapConfig.xml:

(3)实体类映射文件user.map.xml:

select * from user where id = #{id}

(4)dao层接口实现类UserDaoImpl:

java代码

public class UserDaoImpl implements UserDao {

public SqlSessionTemplate sqlSession;

public User getUserById(User user) {

return (User)sqlSession.selectOne("com.xxt.ibatis.dbcp.domain.User.getUser", user);

}

public void setSqlSession(SqlSessionTemplate sqlSession) {

this.sqlSession = sqlSession; }

}

3、采用抽象类org.mybatis.spring.support.SqlSessionDaoSupport提供SqlSession。

(1)spring配置文件:

Java代码

(2) dao层接口实现类UserDaoImpl3:

Java代码

public class UserDaoImpl3 extends SqlSessionDaoSupport implements UserDao {

public User getUserById(User user) {

return (User) getSqlSession().selectOne("com.xxt.ibatis.dbcp.domain.User.getUser", user);

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java生成10个1000以内的随机数并用消息框显示数组内容然后求和输出
下一篇:浅析mybatis和spring整合的实现过程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~