快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

MyBatis中怎么对Spring进行整合

MyBatis中怎么对Spring进行整合,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联专注于唐河网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供唐河营销型网站建设,唐河网站制作、唐河网页设计、唐河网站官网定制、重庆小程序开发公司服务,打造唐河网络公司原创品牌,更为您提供唐河网站排名全网营销落地服务。

1)MyBatis 框架所需的 JAR 包

                            MyBatis中怎么对Spring进行整合
                                       

图 1MyBatis相关的JAR包

2)Spring 框架所需的 JAR 包

  • aopalliance-1.0.jar

  • aspectjweaver-1.6.9.jar

  • spring-aop-3.2.13.RELEASE.jar

  • spring-aspects-3.2.13.RELEASE.jar

  • spring-beans-3.2.13.RELEASE.jar

  • spring-context-3.2.13.RELEASE.jar

  • spring-core-3.2.13.RELEASE.jar

  • spring-expression-3.2.13.RELEASE.jar

  • spring-jdbc-3.2.13.RELEASE.jar

  • spring-tx-3.2.13.RELEASE.jar

3)MyBatis 与 Spring 整合的中间 JAR 包

该中间 JAR 包的版本为 mybatis-spring-1.3.1.jar,此版本可以从网址“http://mvnrepository.com/artifact/org.mybatis/mybatis-spring/1.3.1”下载。

4)数据库驱动 JAR 包

教程所使用的Mybatis数据库驱动包为 MySQL-connector-java-5.1.25-bin.jar。

5)数据源所需的 JAR 包

在整合时使用的是 DBCP 数据源,需要准备 DBCP 和连接池的 JAR 包。

本教程所用版本的 DBCP 的 JAR 包为 commons-dbcp2-2.2.0.jar,可以从网址“htttp://commons.apache.org/proper/commons-dbcp/download_dbcp.cgi”下载。

最新版本的连接池的 JAR 包为 commons-pool2-2.5.0.jar,可以从网址“http://commons.apache.org/proper/commons-pool/download_pool.cgi”下载。

在Spring中配置MyBatis工厂

通过与 Spring 的整合,MyBatis 的 SessionFactory 交由 Spring 来构建,在构建时需要在 Spring 的配置文件中添加如下代码:




















使用 Spring 管理 MyBatis 的数据操作接口

使用 Spring 管理 MyBatis 数据操作接口的方式有多种,其中最常用、最简洁的一种是基于 MapperScannerConfigurer 的整合。该方式需要在 Spring 的配置文件中加入以下内容:






项目结构

MyBatis中怎么对Spring进行整合

第一步:entity层

public class City implements Serializable {

 private long cid;
 private String cname;
 private long pid;


 public long getCid() {
  return cid;
 }

 public void setCid(long cid) {
  this.cid = cid;
 }


 public String getCname() {
  return cname;
 }

 public void setCname(String cname) {
  this.cname = cname;
 }


 public long getPid() {
  return pid;
 }

 public void setPid(long pid) {
  this.pid = pid;
 }

}

第二步:Dao层

@MapperScan
public interface UserMapper {
  public City getUserList(Integer cid);
}

第三步:service层

public interface UserService {
  public City getUserList(Integer cid);
}

第四步:service实现层

@Service("userService")
public class UserServiceImpl implements UserService {
  @Resource
  private UserMapper userMapper;//声明UserMapper接口引用


  @Override
  public City getUserList(Integer cid) {

    return userMapper.getUserList(cid);
  }
}

第五步:CityMapper.xml





  
  
    select * from city where cid=#{cid}
  

第六步:applicationContext.xml





  
  
  
  
  
  
    
    
    
    
  
  
  
    
    
    
    
    
  

  
  
    
    
  

  
  
    
  

第七步:jdbc.properties

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUniCode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

第八步:mybatis-config.xml





第九步:测试

@Test
  public void shouldAnswerWithTrue()
  {
    ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
    UserService userService = (UserService)ctx.getBean("userService");
    City userList = userService.getUserList(130000);
    System.out.println(userList.getCname());

  }

以上代码是基于注解,如果想要XML方式,下面就是,谢谢根据上面的进行修改:修改applicationContext.xml





  
  
  
  
  
  
    
    
    
    
  
  
  
    
    
    
    
    
  

  
  
    
    
  

  
    
    
  
 
  
    
  -->

  
  
    
  

修改Dao层

public interface UserMapper {
  public City getUserList(Integer cid);
}

修改Service实现类

public class UserServiceImpl implements UserService {


  public UserMapper getUserMapper() {
    return userMapper;
  }

  public void setUserMapper(UserMapper userMapper) {
    this.userMapper = userMapper;
  }

  private UserMapper userMapper;//声明UserMapper接口引用


  @Override
  public City getUserList(Integer cid) {

    return userMapper.getUserList(cid);
  }
}

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


当前标题:MyBatis中怎么对Spring进行整合
分享URL:http://6mz.cn/article/jdjico.html

其他资讯