栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring与mybatis三种整合方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring与mybatis三种整合方法

1、采用MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean。

spring-mybatis.xml:



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  

 UserMapper.xml:





  
  
  

dao类:

 
@MapperScan
public interface UserDao {
  //此处的方法名必须和mapper中的映射文件中的id同名
  //回去映射文件中通过com.hua.saf.dao.UserDao.getUser,即this.getClass().getName()+".getUser"
  public User getUser(int id);
}

service类

@Service("userService")
public class UserServiceImpl implements IUserService {
@Resource
private UserDao userDao;
  public User getUser(int id) {
    return userDao.getUser(id);
  }
}

 2、采用接口org.apache.ibatis.session.SqlSession的实现类org.mybatis.spring.SqlSessionTemplate。

  mybatis中, sessionFactory可由SqlSessionFactoryBuilder.来创建。MyBatis-Spring 中,使用了SqlSessionFactoryBean来替代。SqlSessionFactoryBean有一个必须属性dataSource,另外其还有一个通用属性configLocation(用来指定mybatis的xml配置文件路径)。

spring-mybatis.xml



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sqlMapConfig.xml


 
 
 
 
 

User.java

public class User {
 private int id;
 private String username;
 private String password;
 private int age;
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public String getUsername() {
 return username;
 }
 public void setUsername(String username) {
 this.username = username;
 }
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 public int getAge() {
 return age;
 }
 public void setAge(int age) {
 this.age = age;
 }
}

UserDao.java

@Repository
public class UserDao{
 @Resource
 private SqlSessionTemplate sqlSessionTemplate;
 public User getUser(int id) {
 return sqlSessionTemplate.selectOne(this.getClass().getName() + ".getUser", 1);
 } 
}

UserService.java

@Service
public class UserService{
 @Resource
 private UserDao userDao;
 public User getUser(int id) {
 return userDao.getUser(id);
 }
}

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

spring-mybatis.xml



 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

sqlMapConfig.xml


 
 
 
 
 

User.java

public class User {
 private int id;
 private String username;
 private String password;
 private int age;
 public int getId() {
 return id;
 }
 public void setId(int id) {
 this.id = id;
 }
 public String getUsername() {
 return username;
 }
 public void setUsername(String username) {
 this.username = username;
 }
 public String getPassword() {
 return password;
 }
 public void setPassword(String password) {
 this.password = password;
 }
 public int getAge() {
 return age;
 }
 public void setAge(int age) {
 this.age = age;
 }
}

UserDao.java

@Repository
public class UserDao extends SqlSessionDaoSupport{
 public User getUser(int id) {
 return this.getSqlSession().selectOne(this.getClass().getName() + ".getUser", 1);
 }
  //使用SqlSessionDaoSupport必须注意,此处源码1.1.1中有自动注入,1.2中取消了自动注入,需要手工注入,侵入性强
  //也可在spring-mybatis.xml中如下配置,但是这种有多少个dao就要配置到少个,多个dao就很麻烦。
  //
  // 
  //
 @Resource
 public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
 // TODO Auto-generated method stub
 super.setSqlSessionFactory(sqlSessionFactory);
 }
}

UserService.java

@Service
public class UserService{
 @Resource
 private UserDao userDao;
 public User getUserss(int id) {
 return userDao.getUser(1);
 }
}

以上所述是小编给大家介绍的基于spring与mybatis三种整合方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/146746.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号