springboot整合mybatis-plus
2020-08-10 本文已影响0人
星钻首席小管家
1.依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.23</version>
</dependency>
2.yml文件
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://127.0.0.1:3306/db-mcms-open?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 123456
driver: com.mysql.jc.jdbc.Driver
druid:
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
minIdle: 5
maxActive: 20
#配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
time-between-eviction-runs-millis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
min-evictable-idle-time-millis: 300000
validation-query: SELECT 1 FROM DUAL
test-while-idle: true
test-on-borrow: false
test-on-return: false
pool-prepared-statements: true
max-pool-prepared-statement-per-connection-size: 20
3.启动类上加注解
@ComponentScan(basePackages = {"com.elasticsearch.*"})
@SpringBootApplication
@MapperScan("com.elasticsearch.mapper")
4.PeopleMapper
package com.elasticsearch.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.elasticsearch.entity.People;
/**
* @Description:
* @Auther: sp
* @Date: 2020/8/1 14:44
*/
public interface PeopleMapper extends BaseMapper<People> {
}
5.PeopleService
public interface PeopleService {
JsonResult<People> getById(Integer id);
JsonListResult<People> selectList(People people);
}
6.PeopleServiceImpl
@Service
public class PeopleServiceImpl implements PeopleService {
@Autowired
private PeopleMapper mapper;
private LambdaQueryWrapper<People> getWrapper(People people) {
LambdaQueryWrapper<People> wrapper = new LambdaQueryWrapper<>();
if(!ObjectUtils.isEmpty(people.getPeopleName())){
wrapper.eq(People::getPeopleName,people.getPeopleName());
}
wrapper.orderByDesc(People::getPeopleDatetime);
return wrapper;
}
@Override public JsonResult<People> getById(Integer id) {
People people = mapper.selectById(id);
return new JsonResult<>(true,"seccess",people);
}
@Override public JsonListResult<People> selectList(People people) {
LambdaQueryWrapper<People> wrapper = getWrapper(people);
List<People> list = mapper.selectList(wrapper);
return new JsonListResult<>(list);
}
}
7.测试LoginController
@Controller
public class LoginController {
@Autowired PeopleService peopleService;
@GetMapping(value = "/login")
@ResponseBody
public String login(){
People people = new People();
people.setPeopleName("admin");
JsonListResult<People> list = peopleService.selectList(people);
return list.getItems().get(0).toString();
}
@GetMapping("/index")
public String index(){
return "index";
}
}