@Test
public void run() {
// 1、创建代码生成器
AutoGenerator mpg = new AutoGenerator();
// 2、全局配置
GlobalConfig gc = new GlobalConfig();
String projectPath = System.getProperty("user.dir");
gc.setOutputDir(projectPath + "/src/main/java");
gc.setAuthor("testjava");
gc.setOpen(false); //生成后是否打开资源管理器
gc.setFileOverride(false); //重新生成时文件是否覆盖
gc.setServiceName("%sService"); //去掉Service接口的首字母I
gc.setIdType(IdType.ID_WORKER); //主键策略
gc.setDateType(DateType.ONLY_DATE);//定义生成的实体类中日期类型
gc.setSwagger2(true);//开启Swagger2模式
mpg.setGlobalConfig(gc);
// 3、数据源配置
DataSourceConfig dsc = new DataSourceConfig();
dsc.setUrl("jdbc:mysql://127.0.0.1:3306/glxy");
dsc.setDriverName("com.mysql.jdbc.Driver");
dsc.setUsername("root");
dsc.setPassword("123456");
dsc.setDbType(DbType.MYSQL);
mpg.setDataSource(dsc);
// 4、包配置
PackageConfig pc = new PackageConfig();
pc.setModuleName("eduService"); //模块名
pc.setParent("com.itlin");
pc.setController("controller");
pc.setEntity("pojo");
pc.setService("service");
pc.setMapper("mapper");
mpg.setPackageInfo(pc);
// 5、策略配置
StrategyConfig strategy = new StrategyConfig();
strategy.setInclude("edu_course","edu_course_description","edu_chapter","edu_video");
strategy.setNaming(NamingStrategy.underline_to_camel);//数据库表映射到实体的命名策略
strategy.setTablePrefix(pc.getModuleName() + "_"); //生成实体时去掉表前缀
strategy.setColumnNaming(NamingStrategy.underline_to_camel);//数据库表字段映射到实体的命名策略
strategy.setEntityLombokModel(true); // lombok 模型 @Accessors(chain = true) setter链式操作
strategy.setRestControllerStyle(true); //restful api风格控制器
strategy.setControllerMappingHyphenStyle(true); //url中驼峰转连字符
mpg.setStrategy(strategy);
// 6、执行
mpg.execute();
}
阿里云图片上传
// Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
String endpoint = Cousans.en_point;
// 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
String accessKeyId = Cousans.a_k;
String accessKeySecret = Cousans.s_k;
// 填写Bucket名称,例如examplebucket。
String bucketName = Cousans.buck_name;
//拿到文件后缀
String fileName = file.getName();
String end = ".jpg";
// 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
String uuid = UUID.randomUUID().toString();
//String objectName = uuid+end;
//创建文件夹
//String dateTime = new DateTime("yyyy/MM/dd").toString();
String objectName=uuid+end;
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
InputStream inputStream = file.getInputStream();
// 创建PutObjectRequest对象。
// PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
// 设置该属性可以返回response。如果不设置,则返回的response为空。
//putObjectRequest.setProcess("true");
// 创建PutObject请求。// 如果上传成功,则返回200。
ossClient.putObject(bucketName, objectName, inputStream);
//查询文件存储的路径
//https://glxy-01.oss-cn-beijing.aliyuncs.com/0f252364-a561-4e8d-8065-9a6797a6b1d3.jpg
String url="https://"+bucketName+"."+endpoint+"/"+objectName;
return url;
} catch (Exception oe) {
log.error("头像文件上传错误");
throw new GlxyExcption(2001,"头像文件上传错误");
} finally {
if (ossClient != null) {
ossClient.shutdown();
}
}