spring整合mybatis
1、采用数据映射器(MapperFactoryBean)的方式,不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数。 (1)Spring配置文件:
http://www.mykgc.cn/ 数据映射器UserMapper,代码如下: public interface UserMapper { @Select(\"SELECT * FROM user WHERE id = #{userId}\") User getUser(@Param(\"userId\") long id); } dao接口类UserDao,代码如下: Java代码 public interface UserDao { public User getUserById(User user); } dao实现类UserDaoImpl2,,代码如下: Java代码 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()); } } http://www.mykgc.cn/ 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: (4)dao层接口实现类UserDaoImpl: Java代码 http://www.mykgc.cn/ 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); } } 因篇幅问题不能全部显示,请点此查看更多更全内容