Mybatis----spring整合Mybatis

 Druid概述:

Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成。该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可以通过定制来实现自己需要的功能。

Spring 整合 Druid

更多版本:http://central.maven.org/maven2/com/alibaba/druid/ 

基本配置

  在 pom.xml 文件中新增 com.alibaba:druid 和 mysql:mysql-connector-java 依赖


    com.alibaba
    druid
    1.1.6


    mysql
    mysql-connector-java
    5.1.46

  配置数据库连接 jdbc.properties (下面 spring-context-druid.xml需要加载该配置文件),配置代码如下:(如果之前有配置,可以直接放到配置文件当中)(resources目录下)

# JDBC
# MySQL 8.x: com.mysql.cj.jdbc.Driver
jdbc.driverClass=com.mysql.jdbc.Driver
jdbc.connectionURL=jdbc:mysql://192.168.75.134:3306/数据库名?useUnicode=true&characterEncoding=utf-8&useSSL=false
jdbc.username=root
jdbc.password=123456

# JDBC Pool
jdbc.pool.init=1
jdbc.pool.minIdle=3
jdbc.pool.maxActive=20

# JDBC Test
jdbc.testSql=SELECT 'x' FROM DUAL

  创建一个名为 spring-context-druid.xml 的 Spring 配置文件,内容如下:(resources目录下)




    
    

    
    
        
        

        
        
        
        

        
        
        
        

        
        

        
        

        
        

        
        
        
        

        
        
    

  在web.xml中需要将 spring-context-druid.xml 加载进来;可能还有spring-context其他配置,直接用 * 来表示所有的spring-context

Mybatis----spring整合Mybatis_第1张图片

配置 Druid 监控中心

  Druid 提供了大量的监控数据,只需要在 web.xml 中配置一个 Servlet 就可以方便的查看这些信息。

  修改 web.xml 配置文件,增加 Druid 提供的 Servlet


    DruidStatView
    com.alibaba.druid.support.http.StatViewServlet


    DruidStatView
    /druid/*

  测试  

  通过访问http://localhost:8080/druid/index.html

  可以查看:表示成功

Mybatis----spring整合Mybatis_第2张图片

 

 

Spring 整合 MyBatis

配置

  添加jar包


    org.mybatis
    mybatis
    3.2.8


    org.mybatis
    mybatis-spring
    1.3.1


    org.springframework
    spring-jdbc
    4.3.17.RELEASE

  创建 MyBatis 配置文件

    创建一个名为 mybatis-config.xml 的配置文件(resources目录下),内容如下:




    
    
        
        
    
        
        

        
        

        
        

        
        

        
        

        
        

        
        

        
        

        
        

        
        

        
        
    

  Spring整合Mybatis配置文件

    创建一个名为 spring-context-mybatis.xml 的 Spring 配置文件(resources目录下),内容如下:




    
    
        
        
         
        
          
        
    

    
    
          
      
    

  配置web.xml

    web.xml中配置的监听器会扫描所有以spring-context开头的配置文件;

    
        contextConfigLocation
        classpath:spring-context*.xml
    
    
        org.springframework.web.context.ContextLoaderListener
    

测试

配置测试环境

  pom.xml


    org.springframework
    spring-test
    4.3.17.RELEASE


    junit
    junit
    4.12

  定义实体类(自定义)

package com.funtl.my.shop.domain;

import java.io.Serializable;
import java.util.Date;

public class TbUser implements Serializable {
    private Long id;
    private String username;
    private String password;
    private String phone;
    private String email;
    private Date created;
    private Date update;
  //省略get、set
}

  定义数据访问接口

    注意:Spring 集成 MyBatis 后,不需要写实现 DAO 层的接口(只需要写接口类即可),所有的 SQL 执行语句都写在对应的关系映射配置文件中。

package com.funtl.my.shop.web.admin.dao;

import com.funtl.my.shop.domain.TbUser;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface TbUserDao {

    /**
     * 查询全部用户信息
     * @return
     */
    public List selectAll();
}  

  定义映射文件

    映射文件,简称为 Mapper,主要完成 DAO 层中 SQL 语句的映射。映射文件名随意,一般放在 src/resources/mapper 文件夹中。这里映射文件名称定为 TbUserMapper.xml



 
    

  创建单元测试

所有工作准备就绪,我们就可以测试 MyBatis 是否能够正常执行了。创建一个单元测试类,代码如下

package com.funtl.my.shop.web.admin.service.test;

import com.funtl.my.shop.domain.TbUser;
import com.funtl.my.shop.web.admin.dao.TbUserDao;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import java.util.List;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:spring-context.xml", "classpath:spring-context-druid.xml", "classpath:spring-context-mybatis.xml"})
public class TbUserServiceTest {

    @Autowired
    private TbUserDao tbUserDao;

    @Test
    public void testSelectAll() {
        List tbUsers = tbUserDao.selectAll();
        for (TbUser tbUser : tbUsers) {
            System.out.println(tbUser.getUsername());
        }
    }
}

 

你可能感兴趣的:(Mybatis----spring整合Mybatis)