时间:2021-05-20
用来自动为数据库映射类建立:mapper、service、controller
注:代码生成器的写法,参考官方文档:https://mp.baomidou.com/
package com.hanmh.utils;import com.baomidou.mybatisplus.core.toolkit.StringPool;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.NamingStrategy;import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;import com.hanmh.pojo.BasePojo; import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; public class HanGenerator { public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); //这样获取到的是父项目的目录 String projectPath = System.getProperty("user.dir"); String pojoProject = "pojo" + "/src/main/java/com/hanmh/pojo"; String otherProject = "admin"; //gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor("hanmh"); gc.setOpen(false); // gc.setSwagger2(true); 实体属性 Swagger2 注解 mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://39.105.231.52:3306/db?useUnicode=true&useSSL=false&characterEncoding=utf8"); // dsc.setSchemaName("public"); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("123456"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.hanmh"); //设置父包 //自定义生成路径 Map<String,String> pathInfo = new HashMap<String,String>(); pathInfo.put("entity_path", projectPath + "/" + pojoProject); //pojo位置 pathInfo.put("controller_path", projectPath + "/" + otherProject + "/src/main/java/com/hanmh/controller"); pathInfo.put("service_impl_path", projectPath + "/" + otherProject + "/src/main/java/com/hanmh/service/impl"); pathInfo.put("service_path", projectPath + "/" + otherProject + "/src/main/java/com/hanmh/service"); pathInfo.put("mapper_path", projectPath + "/" + otherProject + "/src/main/java/com/hanmh/mapper"); pathInfo.put("xml_path", projectPath + "/" + otherProject + "/src/main/resources/com/hanmh/mapper"); pc.setEntity("pojo"); //实体类 pc.setPathInfo(pathInfo); mpg.setPackageInfo(pc); // 自定义配置 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { // to do nothing } }; // 如果模板引擎是 freemarker String templatePath = "/templates/mapper.xml.ftl"; // 策略配置 StrategyConfig strategy = new StrategyConfig(); strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); //生成时,继承的父类 strategy.setSuperEntityClass(BasePojo.class); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); // 公共父类 strategy.setSuperControllerClass("你自己的父类控制器,没有就不用设置!"); // 写于父类中的公共字段 strategy.setSuperEntityColumns("id"); strategy.setInclude("ums_admin"); strategy.setControllerMappingHyphenStyle(true); strategy.setTablePrefix(pc.getModuleName() + "_"); mpg.setStrategy(strategy); mpg.setTemplateEngine(new FreemarkerTemplateEngine()); mpg.execute(); }}前期需要导入的包有:mybatis-plus、mysql、duracloud(工具包)、pojo、spring-boot-starter-web
<dependency> <groupId>com.hanmh</groupId> <artifactId>pojo</artifactId></dependency><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency><dependency> <groupId>org.duracloud</groupId> <artifactId>common</artifactId></dependency>启动类必须创建在父包下面,注意在SpringBoot中,并不是不扫包,而是框架帮助完成了这件事,它会扫描启动类所在包下的所有类及其子包中的类
package com.hanmh; import org.mybatis.spring.annotation.MapperScan;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication@MapperScan("com.hanmh.mapper")public class AdminRun { public static void main(String[] args) { SpringApplication.run(AdminRun.class); }}定义4种返回代号和返回信息,使用枚举类进行实现
package com.hanmh.pojo; import lombok.Data;import lombok.Getter; @Getterpublic enum ResultCode { SUCCESS(200, "请求成功"), ERROR(500, "请求失败"), NOAUTH(401, "用户未登录或者登录超时"), //操作时 NOPREMISSION(403, "没有此权限"); private Integer code; private String message; //枚举类型的构造默认为私有 private ResultCode(Integer code, String message) { this.code = code; this.message = message; }}在所有的数据库表种,共有的字段是ID,现在将id独立出来
为了使用该包内部的IdType等类内部提供的注解,以告诉BasePojo中某些字段在数据库表中的存在与否
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-annotation</artifactId> <version>3.0-RELEASE</version></dependency>(1)需要使用安全包提供加密服务(security)
在SpringBoot环节,需要将某个类加入IOC容器,就需要在配置类中,配置@Bean节点
@Configurationpublic class AdminConfig { @Bean //将BCryptPasswordEncoder放进IOC容器 BCryptPasswordEncoder getPasswordEncoder() { return new BCryptPasswordEncoder(); }}注:使用此方法对数据进行加密的原因:此加密方法相同明文密码多次可以生成不同的密文,而MD5相同密码则会生成相同的密文
(1)添加用户功能
(2)添加内容弹窗
跨域错误解决需要在后端植入跨域过滤器(Bean节点)
//跨域问题解决@BeanCorsFilter getCorsFilter() { UrlBasedCorsConfigurationSource configurationSource = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); corsConfiguration.addAllowedOrigin("*"); //域名 configurationSource.registerCorsConfiguration("/**", corsConfiguration); return new CorsFilter(configurationSource);}到此这篇关于SpringBoot+Vue实现数据添加功能的文章就介绍到这了,更多相关SpringBoot Vue数据添加内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
SpringBoot服务端表单数据校验(SpringBoot高级)一、实现添加用户功能1创建项目2修改POM文件
在上篇文章给大家介绍了Springboot+mybatis+Vue.js+ElementUI实现数据的增删改查实例代码(一),接下来我们添加分页相关的依赖,时间
最近在工作遇到vue和Springboot实现导出功能,翻看很多资料,发现一些博客写法都过时了,所以自己特此记录下,使用版本vue2,Springboot2x以
springboot整合vue实现上传下载文件,供大家参考,具体内容如下环境springboot1.5.x完整代码下载:springboot整合vue实现上传下
本次内容主要介绍基于Ehcache3.0来快速实现SpringBoot应用程序的数据缓存功能。在SpringBoot应用程序中,我们可以通过SpringCach