您当前的位置: 首页 >  mybatis

wespten

暂无认证

  • 1浏览

    0关注

    899博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

springBoot整合MyBatisPlus实现基本的增删改查功能

wespten 发布时间:2020-05-01 08:35:15 ,浏览量:1

(springBoot整合MyBatisPlus实现基本的增删改查功能&)

springBoot整合MyBatisPlus实现基本的增删改查功能&

项目结构

Pom.xml 资源文件


  4.0.0
  com.szewec
  demo-service
  0.0.1-SNAPSHOT
  
  
      UTF-8
  

    demo-service
    示例服务
    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.2.RELEASE
         
    
  
      
          com.baomidou
          mybatis-plus-boot-starter
          2.2.0
      
    
      io.springfox
      springfox-swagger2
      2.6.1
    
   
     commons-lang
     commons-lang
     2.6
   
    
      io.springfox
      springfox-swagger-ui
      2.6.1
    
      
          com.alibaba
          druid
          1.1.22
      
      
          org.springframework
          spring-tx
          4.3.2.RELEASE
      
      
          org.postgresql
          postgresql
          runtime
      
      
      org.springframework.boot
      spring-boot-starter-web
    

   
    	compile
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                	com.szewec.ServiceApplication
                    -Dfile.encoding=UTF-8
                    true
                    ZIP
                
                
                	
                		
                			repackage
                		
                	
                
            
            
                org.apache.maven.plugins
                maven-compiler-plugin
                
                    1.8
                    1.8
                
            
        
    

application.yml 全局配置文件设置

##数据源地址
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:postgresql://127.0.0.1:5432/postgres
    username: postgres
    password: 123456
    driverClassName: org.postgresql.Driver
    initialSize: 1
    maxActive: 20
    maxWait: 60000
  application:
    name: demo-service

##启用Mybatis
orm:
  mybatis:
    only: true

#mybatis
mybatis-plus:
  mapper-locations: classpath:/mapper/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.huawei.model
  global-config:
    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 2
    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    #驼峰下划线转换
    db-column-underline: true
    #刷新mapper 调试神器
    refresh-mapper: true
    #数据库大写下划线转换
    #capital-mode: true
    #序列接口实现类配置
    #key-generator: com.baomidou.springboot.xxx
    #逻辑删除配置
    #logic-delete-value: 0
    #logic-not-delete-value: 1
    #自定义填充策略接口实现
    #meta-object-handler: com.baomidou.springboot.xxx
    #自定义SQL注入器
    #sql-injector: com.baomidou.springboot.xxx
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false

## 服务器端口,自行设置
server:
  port: 1111

## 服务注册中心地址
eureka:
  instance:
      status-page-url-path: /swagger-ui.html

## 日志
logging:
  config: classpath:logback.xml
  level:
    root: debug

platform:
  url: http://10.0.7.128:8080
##swagger配置
swagger:
  ##是否开启swagger文档
  enable: true
  ##网关
  host: 10.0.7.128:8080
  ##接口包(多个用,隔开)
  basePackage: com.huawei.controller
  ##文档标题
  title: 示例
  ##文档描述
  description: 变更管理的功能
  ##文档版本
  version: 1.0

Logback.xml日志配置文件


    
    
        
            %d %p (%file:%line\)- %m%n
            UTF8
        
    
    
        basedata_log/basedata.log
        
            basedata_log/basedata.log.%d.%i
            
                64 MB
            
        
        
            
                %d %p (%file:%line\)- %m%n
            
            UTF-8 
        
    
    
        
    
    
        
    

Controller层

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.szewec.model.vo.PageBean;
import com.szewec.model.vo.Puser;
import com.szewec.service.PuserService;
import io.swagger.annotations.Api;
import org.apache.commons.lang.StringUtils;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@RestController
@EnableSwagger2
@Api("swaggerDemoController相关的api")
@RequestMapping("/api")
public class PuserController {

    @Resource
    private PuserService puserService;

    @RequestMapping("/users/test")
    public PageBean getParamsTest(HttpServletRequest request, HttpServletResponse response) throws IOException {
        String field = request.getParameter("field");
        String keyword = request.getParameter("keyword");
        ObjectMapper mapper = new ObjectMapper();
        String s = "{\"total\":3,\"current\":1,\"list\":[{\"id\":1,\"name\":\"张三\",\"age\":23,\"sex\":\"女\",\"address\":\"成都\"},{\"id\":2,\"name\":\"李四\",\"age\":24,\"sex\":\"男\",\"address\":\"杭州\"},{\"id\":3,\"name\":\"王五\",\"age\":25,\"sex\":\"男\",\"address\":\"上海\"}]}";
        if(StringUtils.isNotBlank(field)){
             s = "{\"total\":3,\"current\":1,\"list\":[{\"id\":1,\"name\":\"张三111111\",\"age\":23,\"sex\":\"女\",\"address\":\"成都\"},{\"id\":2,\"name\":\"李四\",\"age\":24,\"sex\":\"男\",\"address\":\"杭州\"},{\"id\":3,\"name\":\"王五\",\"age\":25,\"sex\":\"男\",\"address\":\"上海\"}]}";
        }
        return mapper.readValue(s,new TypeReference(){});
    }

    @RequestMapping("/users/query")
    public PageBean usersFuzzyQuery(HttpServletRequest request, HttpServletResponse response) throws IOException {
        Puser puser = new Puser();
        String field = request.getParameter("field");
        String keyword = request.getParameter("keyword");
        String current = request.getParameter("current");
        if(null==current){
            current="0";
        }
        if(StringUtils.isNotBlank(field)&&StringUtils.isNotBlank(keyword)){
            if("name".equals(field)){
                puser.setName(keyword);
            }
            if("address".equals(field)){
                puser.setAddress(keyword);
            }
        }

        List usersList = puserService.usersFuzzyQuery(puser,Integer.valueOf(current));

        PageBean pageBean = new PageBean(usersList.size(),Integer.valueOf(current),10);
        pageBean.setList(usersList);

        return pageBean;
    }

    @RequestMapping("/users/create")
    public PageBean createPuser(@RequestBody Puser puser) throws IOException {
        int fid = (int)((Math.random()*9+1)*100000);
        puser.setId(fid);
        puserService.addUsers(puser);
        PageBean pageBean = new PageBean();
        List usersList = puserService.usersFuzzyQuery(new Puser(),0);
        pageBean.setCurrent(1);
        pageBean.setTotal(3);
        pageBean.setList(usersList);
        return pageBean;
    }

    @RequestMapping("/users/update")
    public Integer updatePuser(@RequestBody Puser puser) throws IOException {
        System.out.println(puser);
        Integer updateRows = puserService.updateUser(puser);
        return updateRows;
    }

    @RequestMapping("/users/delete/{id}")
    public Integer deletePuser(HttpServletRequest request, HttpServletResponse response, @PathVariable("id") Integer id) throws IOException {
        System.out.println(id);
        Integer deleteRows = puserService.deleteUser(id);
        return deleteRows;
    }
}

Service层

public interface PuserService {
    //List usersFuzzyQuery(Puser puser);
    List usersFuzzyQuery(Puser puser,Integer current);
    void addUsers(Puser puser);
    Integer updateUser(Puser puser);
    Integer deleteUser(Integer id);
}
import javax.annotation.Resource;
import java.util.List;

@Service
public class PuserServiceImpl  extends ServiceImpl implements PuserService {

    @Resource
    private PuserMapper puserMapper;

    @Override
    public List usersFuzzyQuery(Puser puser,Integer current) {
        List usersList = puserMapper.usersFuzzyQuery(puser,current);
        return usersList;
    }

    @Override
    public void addUsers(Puser puser) {
        boolean result = this.insert(puser);
    }

    @Override
    public Integer updateUser(Puser puser) {
        Integer ret = puserMapper.updateById(puser);
        return ret;
    }

    @Override
    public Integer deleteUser(Integer id) {
        Integer ret = puserMapper.deleteById(id);
        return ret;
    }
}

Dao层

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface PuserMapper extends BaseMapper {
    // 模糊查询
    List usersFuzzyQuery(@Param("user") Puser puser,@Param("current") Integer current);
    void addUsers(Puser puser);
}

Mybtais配置文件




    
    
        
        
        
        
        
    

    
        SELECT * FROM p_user where 1=1
        
            AND name like CONCAT('%',#{user.name},'%')
        
        
            AND address like CONCAT('%',#{user.address},'%')
        
        
            limit 10 OFFSET #{1}
        
    

启动类

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@SpringBootApplication
@RestController
@MapperScan("com.huawei.**.mapper")
public class ServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(ServiceApplication.class, args);
    }

    @RequestMapping("/index")
    String index(){
    	return "Hello Basedata";
    }
}

 

 

 

 

 

 

 

 

 

 

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

微信扫码登录

0.0399s