package com.kong.cache;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
import com.baomidou.mybatisplus.core.toolkit.StringPool;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.InjectionConfig;
import com.baomidou.mybatisplus.generator.config.*;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import com.baomidou.mybatisplus.generator.config.rules.DateType;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
* @author 空哥
* @since 2023-12-16
* @Description:
*/
//代码自动生成
public class WangCode {
/**
* <p>
* 读取控制台内容
* </p>
*/
public static String scanner(String tip) {
Scanner scanner = new Scanner(System.in);
StringBuilder help = new StringBuilder();
help.append("请输入" + tip + ":");
System.out.println(help.toString());
if (scanner.hasNext()) {
String ipt = scanner.next();
if (StringUtils.isNotEmpty(ipt)) {
return ipt;
}
}
throw new MybatisPlusException("请输入正确的" + tip + "!");
}
public static void main(String[] args) {
// 代码生成器
AutoGenerator mpg = new AutoGenerator();
// 全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");//获取项目的路径
gc.setOutputDir(projectPath + "/src/main/java");//输出的目录
gc.setAuthor("王雪峰");//设置作者名字
gc.setOpen(false);//是否打开资源管理器
gc.setFileOverride(false); // 是否覆盖
// gc.setSwagger2(true); 实体属性 Swagger2 注解
gc.setIdType(IdType.ID_WORKER);//设置id
gc.setDateType(DateType.ONLY_DATE);//设置时间
gc.setServiceName("%sService"); // 去Service的I前缀
mpg.setGlobalConfig(gc);
// 数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=UTC");
// dsc.setSchemaName("public");
dsc.setDriverName("com.mysql.cj.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("root");
dsc.setDbType(DbType.MYSQL);//连接的数据库类型
mpg.setDataSource(dsc);//添加进去
// 包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName(null);
pc.setParent("com.kong.cache");//想创建在那个包下
// pc.setModuleName("test");//创建的名字
pc.setEntity("dao.entity");//生成pojo
pc.setMapper("dao.mapper");//生成mapper
pc.setService("service");//生成service
// pc.setController("controller");//生成controller
mpg.setPackageInfo(pc);
// 自定义配置
InjectionConfig cfg = new InjectionConfig() {
@Override
public void initMap() {
// to do nothing
}
};
// 如果模板引擎是 freemarker
String templatePath = "/templates/mapper.xml.ftl";
// 如果模板引擎是 velocity
// String templatePath = "/templates/mapper.xml.vm";
// 自定义输出配置
List<FileOutConfig> focList = new ArrayList<>();
// 自定义配置会被优先输出
focList.add(new FileOutConfig(templatePath) {
@Override
public String outputFile(TableInfo tableInfo) {
// 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!!
return projectPath + "/src/main/resources/mapper/"
+ "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML;
}
});
cfg.setFileOutConfigList(focList);
mpg.setCfg(cfg);
// 配置模板
TemplateConfig templateConfig = new TemplateConfig();
templateConfig.setXml(null);
mpg.setTemplate(templateConfig);
// 策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setNaming(NamingStrategy.underline_to_camel);//把包的下划线命名改为驼峰命名
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//把属性的下划线命名改为驼峰命名
strategy.setEntityLombokModel(true);
strategy.setRestControllerStyle(true);
strategy.setInclude(scanner("表名,多个英文逗号分割").split(","));
strategy.setControllerMappingHyphenStyle(true);
strategy.setTablePrefix("m_");//表名称的前缀
mpg.setStrategy(strategy); //添加策略
mpg.setTemplateEngine(new FreemarkerTemplateEngine());
mpg.execute();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
JAVA编程之spring cache本机缓存应用
共20个文件
java:9个
xml:7个
yml:3个
需积分: 5 1 下载量 88 浏览量
2023-12-16
20:56:09
上传
评论
收藏 17KB ZIP 举报
温馨提示
JAVA编程之spring cache本机缓存应用 spring cache简单实用,简介: 1、SpringCache是Spring提供的一个缓存框架,在Spring3.1版本开始支持将缓存添加到现有的spring应用程序中,在4.1开始,缓存已支持JSR-107注释和更多自定义的选项 2、Spring Cache利用了AOP,实现了基于注解的缓存功能,并且进行了合理的抽象,业务代码不用关心底层是使用了什么缓存框架,只需要简单地加一个注解,就能实现缓存功能了,做到了对代码侵入性做小。 3、由于市面上的缓存工具实在太多,SpringCache框架还提供了CacheManager接口,可以实现降低对各种缓存框架的耦合。它不是具体的缓存实现,它只提供一整套的接口和代码规范、配置、注解等,用于整合各种缓存方案,比如Caffeine、Guava Cache、Ehcache。
资源推荐
资源详情
资源评论
收起资源包目录
2.spring-cache.zip (20个子文件)
spring-cache
pom.xml 2KB
src
test
java
com
kong
cache
CacheApplicationTests.java 833B
WangCode.java 5KB
main
resources
application-pro.yml 0B
mapper
UserMapper.xml 355B
application-dev.yml 589B
application.yml 36B
java
com
kong
cache
controller
UserController.java 1KB
dao
mapper
UserMapper.java 427B
entity
User.java 811B
CacheApplication.java 391B
service
UserService.java 535B
impl
UserServiceImpl.java 2KB
config
MyBatisPlusConfig.java 2KB
.idea
jarRepositories.xml 880B
workspace.xml 3KB
misc.xml 480B
compiler.xml 707B
.gitignore 184B
encodings.xml 191B
共 20 条
- 1
资源评论
yellow1019
- 粉丝: 26
- 资源: 75
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功