spring boot集成mybatis-plus查询数据库的例子

1.导入依赖

我这里用的是maven项目,先在pom.xml中加入依赖:



    4.0.0

    com..ps
    SPRING_MVC_JSON
    1.0-SNAPSHOT
    jar

    
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.17.RELEASE
    
    
        
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.boot
            spring-boot-starter-data-jpa
        
        
        
            mysql
            mysql-connector-java
        
        
        
            com.alibaba
            druid-spring-boot-starter
            1.1.10
        
        
        	   
            org.springframework.boot    
            spring-boot-devtools    
            true
        
        
        
            commons-lang
            commons-lang
            2.2
        
        
        
            com.baomidou
            mybatis-plus-boot-starter
            3.0-RC1
        

    

2.添加资源文件

在你的resources目录下添加application.properties文件,文件名字固定:

server.port=8081
#mysql
spring.datasource.url=jdbc:mysql://localhost:3306/m1dn
spring.datasource.username=root
spring.datasource.password=ps123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#Druid
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.stat-view-servlet.login-username=druid
spring.datasource.druid.stat-view-servlet.login-password=123456

3.java代码

结构图:
spring boot集成mybatis-plus查询数据库的例子_第1张图片
3.1:Main类

@SpringBootApplication
public class Main {
	public static void main(String[] args) throws Exception {
        SpringApplication.run(Main.class, args);
    }

    @EnableTransactionManagement
    @Configuration
    @MapperScan("com.baomidou.cloud.service.*.mapper*")
    public class Config {
        /**
         * 分页插件
         */
        @Bean
        public PaginationInterceptor paginationInterceptor() {
            return new PaginationInterceptor();
        }
    }
}

3.2:controller(控制层):
EmpServlet.java:

@RestController
public class EmpServlet{
    @Autowired
    private EmpService service;

    @GetMapping(value = "/emps")
    public Result emps(String checkName,String sal ,String page, String limit ){
        Result result = null;
        try {
            result = service.queryEmps(checkName,sal ,page, limit);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return result;
    }

    @PostMapping(value = "/emp")
    public Result addEmp(Emp emp){
        Result result = new Result();
        try {
            service.addEmp(emp);
        }catch (Exception e){
            result.setCount(1);
            result.setMsg("新增失败"+e.getMessage());
        }
        return result;
    }

    @PutMapping(value = "/emp/{userId}")
    public Result updateEmp(@PathVariable String userId,Emp emp){
        Result result = new Result();
        try {
            service.updateEmp(emp,userId);
        }catch (Exception e){
            result.setCount(1);
            result.setMsg("修改失败"+e.getMessage());
        }
        return result;
    }

    @DeleteMapping(value = "/emp/{userId}")
    public Result updateEmp(@PathVariable String userId){
        Result result = new Result();
        try {
            service.delete(userId);
        }catch (Exception e){
            result.setCount(1);
            result.setMsg("删除失败"+e.getMessage());
        }
        return result;
    }
}

3.3:entity(实体类)层
Emp.java类:

@TableName("emp")
public class Emp {
	@TableId(type= IdType.AUTO)
	private String empno;
	private String ename;
	private String job;
	@TableField("sal")
	private String mySal;
	private String hiredate;
}

Result.java类:

public class Result {
    private int code;
    private String msg;
    private int count;
    private List data;
}

注意:这两个类的set,get的方法就不展示给你们看了,实际是要加的;


3.4:mapper层
EmpMapper.java类:

@Mapper
public interface EmpMapper extends BaseMapper {

}

3.5:service层
EmpService.java接口:

public interface EmpService {
	public Result queryEmps(String checkName, String sal, String curPage, String pageNum) throws Exception;

	public void addEmp(Emp emp);

    void updateEmp(Emp emp, String userId);

	void delete(String userId);
}

EmpServiceImpl.java实现类:

@Service
public class EmpServiceImpl implements EmpService {
	@Autowired
	private EmpMapper empMapper;

	public Result queryEmps(String checkName, String sal, String curPage, String pageNum) throws Exception {
		int curPageIn = Integer.parseInt(curPage);
		int pageNumIn = Integer.parseInt(pageNum);

		if(StringUtils.isEmpty(checkName)) {
			checkName = "";
		}

		//	    条件构造器
		QueryWrapper wrapper = new QueryWrapper();
		wrapper.like("ename", checkName);
		if(StringUtils.isNotEmpty(sal)) {
			wrapper.le("sal", Integer.parseInt(sal));
		}											  // 这里是分页传入的参数:页数和数据量		// 条件构造器
		IPage selectPage = empMapper.selectPage(new Page(curPageIn,pageNumIn), wrapper);

		Result result = new Result();
		result.setCode(0);
		result.setCount((int)selectPage.getTotal());
		result.setData(selectPage.getRecords());
		return result;
	}

	public void addEmp(Emp empValue) {
		empMapper.insert(empValue);
	}

	public void updateEmp(Emp empValue,String userId) {
		empValue.setEmpno(userId);
		empMapper.updateById(empValue);
	}

	public void delete(String userId) {
        empMapper.deleteById(userId);
	}
}

4..html文件

showEmp.html





Title







	

注意,这里我运用的layui框架
spring boot集成mybatis-plus查询数据库的例子_第2张图片

5.数据库表,以及运行效果

spring boot集成mybatis-plus查询数据库的例子_第3张图片
然后直接运行Main类的main方法,再去浏览器上看效果:
spring boot集成mybatis-plus查询数据库的例子_第4张图片

你可能感兴趣的:(springBoot,mybatis,mysql)