MybatisPlus

MybatisPlus

MyBatisPlus逆向工程

【狂神说Java】MyBatisPlus学习笔记-KuangStudy-文章

逻辑删除

@TableLogic注解是逻辑删除,将其加在实体类的属性上

条件查询器 wrapper

QueryWrapper wrapper = new QueryWrapper<>();
在添加

QueryWrapper<Object> wrapper = new QueryWrapper<>();
wrapper.xxxx(***);
// 例如一个继承了BaseMapper的实体类 UserMapper
@AutoWired
UserMapper userMapper;
// 把wrapper放到条件中即可查询
userMapper.selectList(wrapper).forEach(System.out::println);

ArrayList lsit = new ArrayList();
list.forEach(System.out::println);  //遍历

通过wrapper. 来添加查询条件

逆向工程

// 需要构建一个 代码自动生成器 对象
AutoGenerator mpg = new AutoGenerator();
// 配置策略
// 1、全局配置
GlobalConfig gc = new GlobalConfig();
// 获取当前路径
System.getProperty("user.dir");
gc.xxx();
gc.setOutputDir(projectPath+"/src/main/java");//输出到哪个目录
gc.setAuthor("wsk");
gc.setOpen(false);
gc.setFileOverride(false);//是否覆盖
gc.setServiceName("%sService");//去Service的I前缀
gc.setIdType(IdType.ID_WORKER);
gc.setDateType(DateType.ONLY_DATE);
gc.setSwagger2(true);
// 把全局配置放到生成器对象里面
mpg.setGlobalConfig(gc);

// 2、设置数据源
DataSourceConfig dsc = new DataSourceConfig();
// url、drivername、username、password、dbtype  通过dsc.
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setUrl("jdbc:mysql://localhost:3306/wuye?useSSL=false&serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setDbType(DbType.MYSQL);
// 把数据源放到生成器对象中
mpg.setDataSource(dsc);
//3、包的配置
PackageConfig pc = new PackageConfig();
pc.setModuleName("study");
pc.setParent("com.wsk");
pc.setEntity("pojo");
pc.setMapper("mapper");
pc.setService("service");
pc.setController("controller");
mpg.setPackageInfo(pc);
//4、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("admin","danyuan","building","room");//设置要映射的表名,只需改这里即可
strategy.setNaming(NamingStrategy.underline_to_camel);
strategy.setColumnNaming(NamingStrategy.underline_to_camel);
strategy.setEntityLombokModel(true);//是否使用lombok开启注解
strategy.setLogicDeleteFieldName("deleted");
//自动填充配置
TableFill gmtCreate = new TableFill("gmt_create", FieldFill.INSERT);
TableFill gmtUpdate = new TableFill("gmt_update", FieldFill.INSERT_UPDATE);
ArrayList<TableFill> tableFills = new ArrayList<>();
tableFills.add(gmtCreate);
tableFills.add(gmtUpdate);
strategy.setTableFillList(tableFills);
//乐观锁配置
strategy.setVersionFieldName("version");
strategy.setRestControllerStyle(true);//开启驼峰命名
strategy.setControllerMappingHyphenStyle(true);//localhost:8080/hello_id_2
mpg.setStrategy(strategy);

// 执行 生成
mpg.excute();
<!--模板引擎 依赖:mybatis-plus代码生成的时候报异常-->
<dependency>
    <groupId>org.apache.velocity</groupId>
    <artifactId>velocity-engine-core</artifactId>
    <version>2.0</version>
</dependency>
<!--配置ApiModel在实体类中不生效-->
<dependency>
    <groupId>com.spring4all</groupId>
    <artifactId>spring-boot-starter-swagger</artifactId>
    <version>1.5.1.RELEASE</version>
</dependency>
<!--freemarker-->
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.30</version>
</dependency>
<!--beetl-->
<dependency>
    <groupId>com.ibeetl</groupId>
    <artifactId>beetl</artifactId>
    <version>3.3.2.RELEASE</version>
</dependency>

Mybatis-Plus 在SpringBoot中的基础使用

可以阅读这篇文章
MyBatis-Plus】的基本使用(SpringBoot)

posted @ 2022-05-10 16:27  没有烦恼的猫猫  阅读(24)  评论(0编辑  收藏  举报