您当前的位置: 首页 >  mybatis

小志的博客

暂无认证

  • 1浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

springboot2.0X整合mybatis配置版示例

小志的博客 发布时间:2019-11-12 16:15:05 ,浏览量:1

一、建表

1、在本地创建一个名字为mybatis的数据库,该数据库中的department表的建表语句如下

CREATE TABLE `employee` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `lastName` varchar(255) DEFAULT NULL,
  `email` varchar(255) DEFAULT NULL,
  `gender` int(2) DEFAULT NULL,
  `d_id` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在这里插入图片描述

二、项目配置文件如下:

1、springboot项目创建过程省略,pom.xml文件需要引入如下依赖:

 		
        
            log4j
            log4j
            1.2.17
        
        
        
            org.springframework.boot
            spring-boot-starter-data-jdbc
        
       
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.1.1
        
       
        
            mysql
            mysql-connector-java
            5.1.46
        
       
        
            com.alibaba
            druid
            1.1.21
        

2、application.yml的配置如下:

spring:
  datasource:
    #   数据源基本配置
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/mybatis
    type: com.alibaba.druid.pool.DruidDataSource
    #   数据源其他配置
    initialSize: 5
    minIdle: 5
    maxActive: 20
    maxWait: 60000
    timeBetweenEvictionRunsMillis: 60000
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,log4j
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500

3、log4j.properties配置如下:为了测试只简单配置了日志

log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
三、配置版代码如下:

1、目录层次如下图:下面的所有操作都是在该目录结构中操作 在这里插入图片描述 2、在bean文件夹下创建Employee实体类,如下代码:

package com.rf.springboot.bean;

public class Employee {

    private Integer id;
    private String lastName;
    private String email;
    private Integer gender;
    private Integer did;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public Integer getDid() {
        return did;
    }

    public void setDid(Integer did) {
        this.did = did;
    }

    @Override
    public String toString() {
        return "Employee{" +
                "id=" + id +
                ", lastName='" + lastName + '\'' +
                ", email='" + email + '\'' +
                ", gender=" + gender +
                ", did=" + did +
                '}';
    }
}

3、在mapper文件夹下创建EmployeeMapper接口,如下代码:

package com.rf.springboot.mapper;

import com.rf.springboot.bean.Employee;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface EmployeeMapper {

    //通过id查询员工信息
    public Employee getEmployeeId(Integer id);

    //新增员工
    public int insertEmployee(Employee employee);

}

4、在controller文件夹下创建EmployeeController类,如下代码:

package com.rf.springboot.controller;

import com.rf.springboot.bean.Employee;
import com.rf.springboot.mapper.EmployeeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class EmployeeController {
    @Autowired
    EmployeeMapper employeeMapper;

    @GetMapping("/emp/{id}")
    public Employee getEmployeeId(@PathVariable("id") Integer id){
        return  employeeMapper.getEmployeeId(id);
    }
}
四、mybatis全局配置文件和sql映射文件代码如下:

1、目录层次如下图:下面的所有操作都是在该目录结构中操作 在这里插入图片描述 2、在resources/mybatis文件夹下创建mybatis-config.xml全局配置文件,代码如下:




    
        
    

3、在resources/mybatis/mapper文件夹下创建EmployeeMapper.xmlsql映射文件,代码如下:





	
    
        select * from employee where id = #{id}
    
    
     
    
        insert into  employee(lastName,email,gender,d_id) values(#{lastName},#{email},#{gender},#{did})
    
    

五、在application.yml配置文件中指定全局配置文件和sql映射文件位置

1、在application.yml文件中添加如下代码:

mybatis:
  #指定局配置文件
  config-location: classpath:mybatis/mybatis-config.xml
  #指定sql映射文件
  mapper-locations: classpath:mybatis/mapper/*.xml

在这里插入图片描述

六、启动spirngboot项目,浏览器访问

在这里插入图片描述在这里插入图片描述

关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.1134s