时间:2021-05-20
有一位志同道合的朋友给我留言说,MyBatis-Plus的逆向工程跟接口继承BaseMapper有什么区别,我想了想,怎么解释都不合适,最后决定出此文章进行讲解。
首先创建一张数据库表
DROP TABLE IF EXISTS user;CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱', PRIMARY KEY (id));对应的数据如下
DELETE FROM user;INSERT INTO user (id, name, age, email) VALUES(1, 'Jone', 18, 'test1@baomidou.com'),(2, 'Jack', 20, 'test2@baomidou.com'),(3, 'Tom', 28, 'test3@baomidou.com'),(4, 'Sandy', 21, 'test4@baomidou.com'),(5, 'Billie', 24, 'test5@baomidou.com');创建一个普通的SpringBoot项目,然后引入依赖,既然要跟数据库打交道,connector肯定不能少
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version></dependency>另外要使用mybatis-plus,当然也要引入该starter
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.1</version></dependency>由于需要用到逆向工程,所以引入依赖
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version></dependency>还需要一个模板引擎的依赖
<dependency> <groupId>org.apache.velocity</groupId> <artifactId>velocity-engine-core</artifactId> <version>2.1</version></dependency>为了方便起见,这里引入Lombok
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional></dependency>然后编写一个类,直接执行即可!
class AutoCode { public static void main(String[] args) { // 1、全局配置 GlobalConfig globalConfig = new GlobalConfig();//构建全局配置对象 String projectPath = System.getProperty("user.dir");// 获取当前用户的目录 globalConfig .setOutputDir(projectPath + "/mybatis-plus-01-start/src/main/java")// 输出文件路径 .setAuthor("微信搜一搜:贺贺学编程")// 设置作者名字 .setOpen(false)// 是否打开资源管理器 .setFileOverride(true)// 是否覆盖原来生成的 .setIdType(IdType.AUTO)// 主键策略 .setBaseResultMap(true)// 生成resultMap .setBaseColumnList(true)// XML中生成基础列 .setServiceName("%sService");// 生成的service接口名字首字母是否为I,这样设置就没有I // 2、数据源配置 DataSourceConfig dataSourceConfig = new DataSourceConfig();// 创建数据源配置 dataSourceConfig .setUrl("jdbc:mysql://127.0.0.1:3306/mybatis_plus?userSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC") .setDriverName("com.mysql.cj.jdbc.Driver") .setUsername("root") .setPassword("root") .setDbType(DbType.MYSQL); // 3、包配置 PackageConfig packageConfig = new PackageConfig(); packageConfig .setParent("com.hzy") .setEntity("entity") .setController("controller") .setService("service") .setMapper("mapper"); // 4、策略配置 StrategyConfig strategyConfig = new StrategyConfig(); strategyConfig .setCapitalMode(true)// 开启全局大写命名 .setInclude("user")// 设置要映射的表 .setNaming(NamingStrategy.underline_to_camel)// 下划线到驼峰的命名方式 .setColumnNaming(NamingStrategy.underline_to_camel)// 下划线到驼峰的命名方式 .setEntityLombokModel(false)// 是否使用lombok .setRestControllerStyle(true)// 是否开启rest风格 .setControllerMappingHyphenStyle(true);// localhost:8080/hello_a_2 // 5、自定义配置(配置输出xml文件到resources下) InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { // to do nothing } }; List<FileOutConfig> focList = new ArrayList<>(); String templatePath = "/templates/mapper.xml.vm"; // 自定义配置会被优先输出 focList.add(new FileOutConfig(templatePath) { @Override public String outputFile(TableInfo tableInfo) { // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! return projectPath + "/mybatis-plus-01-start/src/main/resources/mapper/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; } }); cfg.setFileOutConfigList(focList); // 6、整合配置 AutoGenerator autoGenerator = new AutoGenerator();// 构建代码生自动成器对象 autoGenerator .setGlobalConfig(globalConfig)// 将全局配置放到代码生成器对象中 .setDataSource(dataSourceConfig)// 将数据源配置放到代码生成器对象中 .setPackageInfo(packageConfig)// 将包配置放到代码生成器对象中 .setStrategy(strategyConfig)// 将策略配置放到代码生成器对象中 .setCfg(cfg)// 将自定义配置放到代码生成器对象中 .execute();// 执行! }}执行结果如下
代码中的注释比较多,我就不多说了
到此这篇关于MyBatis-Plus逆向工程——Generator的使用的文章就介绍到这了,更多相关MyBatis-Plus逆向工程内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1.新建一个springboot工程2.需要导入mybatis和mybatis-plus的依赖文件com.baomidoumybatis-plus-boot-s
1、使用mybatis-plus自身的查询构造去,只需要在全局配置中添加如下配置mybatis-plus:mapper-locations:classpath:
已有的springcloud+mybatis项目升级为mybatis-plus项目模块目录将mybatis依赖替换为mybatis-plus修改配置文件实体类如
最近项目中使用了MyBatis-Plus,点击看官方文档。使用一个新的框架,首先是验证框架的使用。使用MyBatis-Plus,首先就验证一下能否成功操作(CR
mybatis-plus版本不兼容问题1,mybatis-plus版本中存在一个问题。2,mybatis-plus-extension版本为v3.2.1.1-S