SpringBoot整合Mybatis Plus(代码自动生成)
SpringBoot中集成mybatis,可以用mybatis-spring包集成mybatis,也可以用mybatis-plus-boot-starter,mybatis-plus内部已经整合了mybatis-spring,也包括非快速启动的mybatis-plus(这个依赖需要额外的配置数据源等信息)。
1. 创建SpringBoot项目
eclipse中创建项目,可以用SpringBoot插件创建,也可以导入SpringBoot项目创建。
2. 添加mybatis plus依赖
打开pom.xml添加以下依赖,如果需要用最新的jar包,则直接通过maven网站查到最新的版本。
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>2.2.0</version> </dependency>
3. application.properties数据源配置
#mysql spring.datasource.url=jdbc:mysql://localhost:3306/ease-run?useUnicode=true&characterEncoding=utf8 spring.datasource.username=root spring.datasource.password=root spring.datasource.driver-class-name=com.mysql.jdbc.Driver #mybatis-plus mybatis-plus.mapper-locations=classpath:com/mht/springbootmybatisplus/mapper/xml/*.xml mybatis-plus.type-aliases-package=com.mht.springbootmybatisplus.entity
mybatis plus的xml路径和实体类包名,是要和你项目中一致的,不然会报错。
如果需要用Druid,可以参考springboot+mybatis+Druid
4. 创建数据库
mysql里面创建数据库test,表user
5. 创建Mybatis Plus代码生成器类
/*** Mybatis Plus代码生成器
*/ public class MybatisPlusGenerator { public static void main(String[] args) { AutoGenerator mpg = new AutoGenerator(); // 选择 freemarker 引擎,默认 Veloctiy mpg.setTemplateEngine(new FreemarkerTemplateEngine()); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setAuthor("Mht"); gc.setOutputDir("D://workspace/spring-boot-mybatis/src/main/java"); // 设置文件输出路径 gc.setFileOverride(false);// 是否覆盖同名文件,默认是false gc.setActiveRecord(true);// 不需要ActiveRecord特性的请改为false gc.setEnableCache(false);// XML 二级缓存 gc.setBaseResultMap(true);// XML ResultMap gc.setBaseColumnList(false);// XML columList mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setDbType(DbType.MYSQL); dsc.setTypeConvert(new MySqlTypeConvert() { // 自定义数据库表字段类型转换【可选】 @Override public DbColumnType processTypeConvert(String fieldType) { System.out.println("转换类型:" + fieldType); // 注意!!processTypeConvert 存在默认类型转换,如果不是你要的效果请自定义返回、非如下直接返回。 return super.processTypeConvert(fieldType); } }); dsc.setDriverName("com.mysql.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("root"); dsc.setUrl("jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8"); mpg.setDataSource(dsc); // 策略配置 StrategyConfig strategy = new StrategyConfig(); // strategy.setCapitalMode(true);// 全局大写命名 ORACLE 注意 strategy.setTablePrefix(new String[] { "user_" });// 此处可以修改为您的表前缀 strategy.setNaming(NamingStrategy.nochange);// 表名生成策略 strategy.setInclude(new String[] { "user" }); // 需要生成的表 mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.test.springbootmybatis"); //设置父包名 // pc.setModuleName("test"); mpg.setPackageInfo(pc); // 执行生成 mpg.execute(); } }
执行main方法前请注意,在生成文件的时候需要有一个模板引擎的选择,MyBatis Plus的默认模板引擎是velocity,可以加入freemarker依赖。代码生成器会自动生成UserMapper.java,User.java,UserMapper.xml3个文件,里面已经包含增改删查的方法。
至此,SpringBoot已经整合Mybatis Plus,同时自动生成代码,接下来写service和controller,可以看完整的SpringBoot+mybatis增改删查例子。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。