博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springboot整合mybatisPlus实现分页
阅读量:4841 次
发布时间:2019-06-11

本文共 9076 字,大约阅读时间需要 30 分钟。

package lsi.util; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.config.DataSourceConfig; import com.baomidou.mybatisplus.generator.config.GlobalConfig; import com.baomidou.mybatisplus.generator.config.PackageConfig; import com.baomidou.mybatisplus.generator.config.StrategyConfig; import com.baomidou.mybatisplus.generator.config.converts.MySqlTypeConvert; import com.baomidou.mybatisplus.generator.config.rules.DbColumnType; import com.baomidou.mybatisplus.generator.config.rules.DbType; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine; /**  * 

* 代码生成器演示 *

*/ public class MpGenerator {
public static void main(String[] args) {
// assert (false) : "代码生成属于危险操作,请确定配置后取消断言执行代码生成!"; AutoGenerator mpg = new AutoGenerator(); // 选择 freemarker 引擎,默认 Velocity mpg.setTemplateEngine(new FreemarkerTemplateEngine()); // 全局配置 GlobalConfig gc = new GlobalConfig(); gc.setAuthor("LJH"); gc.setOutputDir("F://project/colby/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 /* 自定义文件命名,注意 %s 会自动填充表实体属性! */ // gc.setMapperName("%sDao"); // gc.setXmlName("%sDao"); // gc.setServiceName("MP%sService"); // gc.setServiceImplName("%sServiceDiy"); // gc.setControllerName("%sAction"); 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.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("123456"); dsc.setUrl("jdbc:mysql://ip:3306/colbyDB?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"}); // 需要生成的表 // strategy.setExclude(new String[]{"test"}); // 排除生成的表 // 自定义实体父类 // strategy.setSuperEntityClass("com.baomidou.demo.TestEntity"); // 自定义实体,公共字段 // strategy.setSuperEntityColumns(new String[] { "test_id", "age" }); // 自定义 mapper 父类 // strategy.setSuperMapperClass("com.baomidou.demo.TestMapper"); // 自定义 service 父类 // strategy.setSuperServiceClass("com.baomidou.demo.TestService"); // 自定义 service 实现类父类 // strategy.setSuperServiceImplClass("com.baomidou.demo.TestServiceImpl"); // 自定义 controller 父类 // strategy.setSuperControllerClass("com.baomidou.demo.TestController"); // 【实体】是否生成字段常量(默认 false) // public static final String ID = "test_id"; // strategy.setEntityColumnConstant(true); // 【实体】是否为构建者模型(默认 false) // public User setName(String name) {this.name = name; return this;} // strategy.setEntityBuilderModel(true); mpg.setStrategy(strategy); // 包配置 PackageConfig pc = new PackageConfig(); pc.setParent("com.mht.springbootmybatisplus"); // pc.setModuleName("test"); mpg.setPackageInfo(pc); // 注入自定义配置,可以在 VM 中使用 cfg.abc 【可无】 // InjectionConfig cfg = new InjectionConfig() {
// @Override // public void initMap() {
// Map
map = new HashMap
(); // map.put("abc", this.getConfig().getGlobalConfig().getAuthor() + // "-mp"); // this.setMap(map); // } // }; // // // 自定义 xxList.jsp 生成 // List
focList = new ArrayList<>(); // focList.add(new FileOutConfig("/template/list.jsp.vm") {
// @Override // public String outputFile(TableInfo tableInfo) {
// // 自定义输入文件名称 // return "D://my_" + tableInfo.getEntityName() + ".jsp"; // } // }); // cfg.setFileOutConfigList(focList); // mpg.setCfg(cfg); // // // 调整 xml 生成目录演示 // focList.add(new FileOutConfig("/templates/mapper.xml.vm") {
// @Override // public String outputFile(TableInfo tableInfo) {
// return "/develop/code/xml/" + tableInfo.getEntityName() + ".xml"; // } // }); // cfg.setFileOutConfigList(focList); // mpg.setCfg(cfg); // // // 关闭默认 xml 生成,调整生成 至 根目录 // TemplateConfig tc = new TemplateConfig(); // tc.setXml(null); // mpg.setTemplate(tc); // 自定义模板配置,可以 copy 源码 mybatis-plus/src/main/resources/templates 下面内容修改, // 放置自己项目的 src/main/resources/templates 目录下, 默认名称一下可以不配置,也可以自定义模板名称 // TemplateConfig tc = new TemplateConfig(); // tc.setController("..."); // tc.setEntity("..."); // tc.setMapper("..."); // tc.setXml("..."); // tc.setService("..."); // tc.setServiceImpl("..."); // 如上任何一个模块如果设置 空 OR Null 将不生成该模块。 // mpg.setTemplate(tc); // 执行生成 mpg.execute(); // 打印注入设置【可无】 // System.err.println(mpg.getCfg().getMap().get("abc")); } } ---------------------------反向生成工具类---------------------------
colby
${log.pattern}
${log.path}/info/info.%d{yyyy-MM-dd}.log
${log.maxHistory}
${log.pattern}
INFO
ACCEPT
DENY
${log.path}/error/error.%d{yyyy-MM-dd}.log
${log.pattern}
ERROR
ACCEPT
DENY
-------------------logback-spring.xml-----------------------
# 配置slq打印日志 mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl -------------------------------------------------------
@SpringBootApplication @NacosPropertySource(dataId = "springboot2-nacos-config", autoRefreshed = true) public class ColbyApplication {
public static void main(String[] args) {
SpringApplication.run(ColbyApplication.class, args); } @Bean public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor page = new PaginationInterceptor(); page.setDialectType("mysql"); return page; } @Bean public PerformanceInterceptor performanceInterceptor() {
PerformanceInterceptor page = new PerformanceInterceptor(); page.setFormat(true); return page; } } -------------------需要添加-----------------------
@RequestMapping("/queryCtionUser/{currentPage}") @ResponseBody public ResponseBo queryConditionUser(@PathVariable("currentPage")int currentPage) {
Page
page = new Page<>(currentPage, 2);//这里写死了每页显示数量 Page
userList = userServiceImpl.selectPage(page, new EntityWrapper
() //.between("age", 18, 50) .like("name", "jacck")//查询条件 //.eq("last_name", "tom") ); System.out.println(userList); System.out.println("================= 相关的分页信息 =================="); System.out.println("总条数:" + userList.getTotal()); System.out.println("当前页码:" + userList.getCurrent()); System.out.println("总页数:" + userList.getPages()); System.out.println("每页显示条数:" + userList.getSize()); System.out.println("是否有上一页:" + userList.hasPrevious()); System.out.println("是否有下一页:" + userList.hasNext()); //还可以将查询到的结果set进page对象中 return ResponseBo.ok(userList); } -------------------实现代码----------------------不需要pagehelper.jar跟它无关

 

 

转载于:https://www.cnblogs.com/jiahaoJAVA/p/10832749.html

你可能感兴趣的文章
设计模式-工厂方法 简单工厂 抽象工厂 模板方法
查看>>
HDU - 6162(Ch’s gift)
查看>>
showModalDialog()方法
查看>>
终端命令对字符串进行sha1、md5、base64、urlencode/urldecode
查看>>
Rxjava+Retrofit2+Okhttp3多文件上传(服务器端代码+客户端代码)
查看>>
Spring系列之bean的使用
查看>>
Mac下lombok无法安装到eclipse mars
查看>>
Mac下为什么有的文件名后带一个* 星号?
查看>>
Hololens入门之语音识别(语音命令)
查看>>
python_day09 多进程 多线程 协程 paramiko模块
查看>>
学习WPF之 Binding
查看>>
Windows7系统下Oracle数据库安装的oracle net configuration assistant失败问题
查看>>
umeditor 踩坑
查看>>
luogu P1854 花店橱窗布置
查看>>
6-6 小球下落 uva679
查看>>
Victor and World 状压dp
查看>>
vim 常用设置
查看>>
NGUI所见即所得之UIAtlasMaker , UIAtlas (2)
查看>>
Dynamics AX 2012 R2 耗尽用户
查看>>
项目引入非配置的文件,打成war包后测试报错的可能原因
查看>>