性能分析插件
开发中会遇到一些慢sql,测试
MP也提供一些性能分析的插件,好像找不到了
条件构造器
wrapper
十分重要
写一些复杂的构造
简单的非空的条件:
@Test
void contextLoads(){
//查询name不为空,年龄等于12
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
.isNotNull("name")
.isNotNull("email")
.ge("age",12);
usermapper.selectList(wrapper).forEach(System.out::println);
}
条件有参数查询
@Test
void test2(){
//查询name不为空,年龄等于12
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
.eq("name","郝泾钊");
//查询一个selectOne 别的用List map
usermapper.selectOne(wrapper);
}
范围:
@Test
void test3(){
//年龄在20-30之间
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
.between("age",20,30);
//查询一个selectOne 别的用List map
usermapper.selectCount(wrapper);//数量数目
}
模糊查询
@Test
void test4(){
//年龄在20-30之间
QueryWrapper<User> wrapper=new QueryWrapper<>();
wrapper
.notLike("name","0")
.likeRight("email","t");//右边
List<Map<String,Object>> maps = userMapper.selectMaps(wrapper);
maps.forEach(System.out::print)
//查询一个selectOne 别的用List map
usermapper.selectCount(wrapper);//数量数目
}
嵌套sql
@Test
void test5(){
//年龄在20-30之间
QueryWrapper<User> wrapper=new QueryWrapper<>();
//id在子查询中查出来
wrapper.inSql("id","select id from user where id<3");
List<Object> objects = userMapper.selectPbjects(wrapper);
maps.forEach(System.out::print)
}
排序:
@Test
void test5(){
//年龄在20-30之间
QueryWrapper<User> wrapper=new QueryWrapper<>();
//id在子查询中查出来
wrapper.orderByDesc("id");
List<User> objects = userMapper.selectList(wrapper);
maps.forEach(System.out::print)
}
代码生成器
main.class:
package com;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class Main {
public static void main(String[] args) {
//创建对象
AutoGenerator autoGenerator = new AutoGenerator();
//数据源
DataSourceConfig dataSourceConfig= new DataSourceConfig();
dataSourceConfig.setDbType(DbType.MYSQL);
dataSourceConfig.setDriverName("com.mysql.cj.jdbc.Driver");
dataSourceConfig.setUrl("jdbc:mysql://localhost:3306/text");
dataSourceConfig.setUsername("root");
dataSourceConfig.setPassword("123456");
autoGenerator.setDataSource(dataSourceConfig);
//全局配置
GlobalConfig globalConfig=new GlobalConfig();
globalConfig.setOutputDir(System.getProperty("user.dir")+"/src/main/java");
globalConfig.setAuthor("郝泾钊");
globalConfig.setOpen(false);
//去掉Service
globalConfig.setServiceName("%sService");
autoGenerator.setGlobalConfig(globalConfig);
//包配置
PackageConfig packageConfig =new PackageConfig();
packageConfig.setParent("com.southwind");
packageConfig.setEntity("entity");
packageConfig.setMapper("mapper");
packageConfig.setService("service");
packageConfig.setServiceImpl("service.impl");
packageConfig.setController("controller");
//策略配置
StrategyConfig strategyConfig =new StrategyConfig();
strategyConfig.setInclude("people");
strategyConfig.setNaming(NamingStrategy.underline_to_camel);
strategyConfig.setColumnNaming(NamingStrategy.underline_to_camel);
strategyConfig.setEntityLombokModel(true);
autoGenerator.setStrategy(strategyConfig);
//启动
autoGenerator.execute();
}
}
浙公网安备 33010602011771号