spring boot 整合mybatis-plus ssm框架

      前一段时间用ssm框架发现mybatis-plus比较热门,就利用spring boot项目整合mybatis-plus,发现非常实用。废话不多说,直接上代码。

目录

0.先给出整个项目的目录结构

1.pom文件

2. application.properties 配置文件

3.mybatisplusConfig配置

4. mapper.xml配置文件

5.controller控制层

6.service层

7.dao层

8.entity层


0.先给出整个项目的目录结构

spring boot 整合mybatis-plus ssm框架_第1张图片

1.pom文件


    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    4.0.0

    com.lin
    mybatisPlusLearn
    0.0.1-SNAPSHOT
    war

    mybatisPlusLearn
    Demo project for Spring Boot

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.3.RELEASE
        
    

    
        UTF-8
        UTF-8
        1.8
    

    
        
            com.baomidou
            mybatisplus-spring-boot-starter
            1.0.5
        

        
            com.baomidou
            mybatis-plus
            2.3
        

        
            org.springframework.boot
            spring-boot-devtools
            runtime
        

        
            org.springframework.boot
            spring-boot-starter-web
        

        
        
        
        
            mysql
            mysql-connector-java
        

            
        
            org.projectlombok
            lombok
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            

        

    

2. application.properties 配置文件

server.port=8081

spring.datasource.url=jdbc:mysql://localhost:3306/stsdemo
spring.datasource.username=root
spring.datasource.password=
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mybatis-plus.mapper-locations=classpath*:mapper/*Mapper.xml
mybatis-plus.type-aliases-package=com.lin.entity

#控制台输出sql

mybatis-plus.configuration.log-impl=org.apche.ibatis.logging.stdout.StdOutImpl

#驼峰式实体字段自动映射为数据库下划线字段     如 aB   映射为   a_b

mybatis-plus.configuration.map-underscore-camel-case=true

3.mybatisplusConfig配置

package com.lin.config;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.baomidou.mybatisplus.plugins.PaginationInterceptor;

@Configuration
@MapperScan(basePackages = "com.lin.dao")
public class MybatisPlusConfig {
   
    /**
     * 分页插件
     */
    @Bean
    public PaginationInterceptor paginationInterceptor(){
        PaginationInterceptor page = new PaginationInterceptor();
        //设置方言类型
        page.setDialectType("mysql");
        return page;
    }
}

4. mapper.xml配置文件




     

5.controller控制层

package com.lin.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.lin.dao.ProvinceMapper;
import com.lin.entity.Province;
import com.lin.service.ProvinceService;

@RestController
public class ProvinceController {
    
    @Autowired
    private ProvinceService provinceService;
    
    @GetMapping("/name")
    public Page get(){
         Map map = new HashMap();
         //map.put("name", "辽宁省");
        
        //return provinceMapper.selectByMap(map);
        
        Page page=new Page(1,10);
        
        EntityWrapper ew=new EntityWrapper<>();
        //ew.between("id", 1, 15);
        ew.eq("city_name", "重庆市");
        Page pages=provinceService.selectPage(new Page(1,10), ew);
        
        return pages ;
    }

    @GetMapping("/delete")
    public void test() {
        Page page=provinceService.selectPage(new Page(1,10),new EntityWrapper().like("city_name", "上海5"));
        
        Listlist=page.getRecords();
        
        Listids=new ArrayList();
        for(Province pro:list) {
            ids.add(pro.getId());
        }    
        provinceService.deleteBatchIds(ids);
    }
    
    @GetMapping("/add")
    public List batchAdd() {    
        Listlist=new ArrayList();
        for(int i=55;i<60;i++) {
            Province pro=new Province();
            pro.setCityName("上海"+i);
            list.add(pro);
        }

        boolean flag=provinceService.insertBatch(list);
        if(flag) {
            return list;
        }
        return null;
    }
    
    @GetMapping("/insertOrUpdate")
    public Province insertOrUpdate() {
        Province pro=new Province();
        pro.setCityName("上海"+100);
        pro.setId(48);
        boolean flag=provinceService.insertOrUpdate(pro);
        if(flag) return pro;
        return null;  
    }

}

6.service层

package com.lin.service;

import java.util.List;

import com.baomidou.mybatisplus.service.IService;
import com.lin.entity.Province;

public interface ProvinceService extends  IService {  

}

----

package com.lin.service;

import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.lin.dao.ProvinceMapper;
import com.lin.entity.Province;

@Service
public class ProvinceServiceIpml extends ServiceImpl implements ProvinceService {
    
}


7.dao层

package com.lin.dao;

import com.lin.entity.Province;

import com.baomidou.mybatisplus.mapper.BaseMapper;

public interface ProvinceMapper extends BaseMapper {
}

8.entity层

package com.lin.entity;

import lombok.Data;

@Data
public class Province  {

    private int id;
    private String cityName;  
}

最后附上province的创建语句

DROP TABLE IF EXISTS `province`;
CREATE TABLE `province` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `city_name` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=76 DEFAULT CHARSET=utf8;

      spring boot 整合mybatis-plus,可以实现基本的增删改查、分页以及批理,代码将会异常的简单,并可以在项目开发过程中节省大量的时间。

 

 

 

 

 

你可能感兴趣的:(web)