电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Mybatis Plus插件三種方式的逆向工程的使用

瀏覽:59日期:2023-10-21 18:22:13

本文源碼:GitHub·點這里 || GitEE·點這里

一、逆向工程簡介

在Java開發中,持久層最常用的框架就是mybatis,該框架需要編寫sql語句,mybatis官方提供逆向工程,可以把數據表自動生成執行所需要的基礎代碼,例如:mapper接口,sql映射文件,pojo實體類等,避免基礎代碼維護的繁雜過程。

Mybatis Plus插件三種方式的逆向工程的使用

在實際的使用中,常用的逆向工程方式如上,mybatis框架,mybatis-plus框架,插件方式。

二、Mybatis方式

1、基礎描述

基于xml配置的方式,生成mybatis基礎代碼,包括mapper接口,Mapper映射文件,pojo實體類,PojoExample條件工具類。

2、配置文件

注意這里的targetProject需要配置自定義路徑位置。

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE generatorConfigurationPUBLIC '-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN''http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd'><generatorConfiguration><context targetRuntime='MyBatis3'><commentGenerator><!-- 是否去除自動生成的注釋 true:是 : false:否 --><property name='suppressAllComments' value='true'/><property name='suppressDate' value='false'/><!-- 是否添加數據表中字段的注釋 true:是 : false:否 --><property name='addRemarkComments' value='true'/></commentGenerator><!--數據庫的信息:驅動類、連接地址、用戶名、密碼 --><jdbcConnection driverClass='com.mysql.jdbc.Driver'connectionURL='jdbc:mysql://localhost:3306/defined-log?tinyInt1isBit=false'userId='root' password='123456'></jdbcConnection><!--默認false,把JDBC decimal 和 numeric 類型解析為 Integer 設置true時把JDBC decimal 和 numeric 類型解析為BigDecimal--><javaTypeResolver><property name='forceBigDecimals' value='false' /></javaTypeResolver><!-- 生成POJO類的位置 --><javaModelGenerator targetPackage='com.generator.mybatis.pojo'targetProject='存放路徑'><property name='enableSubPackages' value='true' /><property name='trimStrings' value='true' /></javaModelGenerator><!-- 生成Mapper映射文件的位置 --><sqlMapGenerator targetPackage='com.generator.mybatis.xml'targetProject='存放路徑'><property name='enableSubPackages' value='true' /></sqlMapGenerator><!-- 生成Mapper接口的位置 --><javaClientGenerator type='XMLMAPPER' targetPackage='com.generator.mybatis.mapper'targetProject='存放路徑'><property name='enableSubPackages' value='true' /></javaClientGenerator><!-- 指定數據庫表 --><table schema='' tableName='dt_defined_log' domainObjectName='DefinedLog'/></context></generatorConfiguration>

3、啟動類

讀取配置文件,并執行。

public class GeneratorMybatis { public void generator() throws Exception { List<String> warnings = new ArrayList<String>(); boolean overwrite = true; File configFile = Resources.getResourceAsFile('generatorConfig.xml'); ConfigurationParser cp = new ConfigurationParser(warnings); Configuration config = cp.parseConfiguration(configFile); DefaultShellCallback callback = new DefaultShellCallback(overwrite); MyBatisGenerator myBatisGenerator = new MyBatisGenerator(config,callback, warnings); myBatisGenerator.generate(null); } public static void main(String[] args) throws Exception { try { GeneratorMybatis generatorMybatis = new GeneratorMybatis(); generatorMybatis.generator(); } catch (Exception e) { e.printStackTrace(); } }}

三、MybatisPlus方式

1、基礎描述

MybatisPlus相比Mybatis提供更多增強的能力,單表操作基本都封裝好了,所以生成的mapper映射文件簡潔很多,需要注意ServiceImpl關鍵類和BaseMapper接口。

2、核心啟動類

這里的配置可以基于很多自定義的策略,案例生成的代碼已經傳到倉庫,可以自行下載查看。

public class GeneratorMybatisPlus { public static void main(String[] args) { // 代碼生成器 AutoGenerator autoGenerator = new AutoGenerator(); // 全局配置 GlobalConfig globalConfig = new GlobalConfig(); //生成文件的輸出目錄 String path='存放路徑'; globalConfig.setOutputDir(path); // Author設置作者 globalConfig.setAuthor('mybatis-plus'); // 文件覆蓋 globalConfig.setFileOverride(true); // 生成后打開文件 globalConfig.setOpen(false); // 自定義文件名風格,%s自動填充表實體屬性 globalConfig.setMapperName('%sMapper'); globalConfig.setXmlName('%sMapper'); globalConfig.setServiceName('%sDao'); globalConfig.setServiceImplName('%sDaoImpl'); globalConfig.setEntityName('%s'); globalConfig.setControllerName('%sController'); autoGenerator.setGlobalConfig(globalConfig); // 數據源配置 DataSourceConfig dataSourceConfig = new DataSourceConfig(); dataSourceConfig.setDbType(DbType.MYSQL); dataSourceConfig.setTypeConvert(new MySqlTypeConvert()); dataSourceConfig.setUrl('jdbc:mysql://localhost:3306/defined-log?tinyInt1isBit=false'); dataSourceConfig.setDriverName('com.mysql.jdbc.Driver'); dataSourceConfig.setUsername('root'); dataSourceConfig.setPassword('123456'); autoGenerator.setDataSource(dataSourceConfig); // 包名配置 PackageConfig packageConfig = new PackageConfig(); // 父包和子包名分開處理 packageConfig.setParent('com.generator.mybatis.plus'); packageConfig.setController('web'); packageConfig.setEntity('pojo'); packageConfig.setMapper('mapper'); packageConfig.setService('dao'); packageConfig.setServiceImpl('dao.impl'); autoGenerator.setPackageInfo(packageConfig); // 生成策略配置 StrategyConfig strategy = new StrategyConfig(); //設置命名格式 strategy.setNaming(NamingStrategy.underline_to_camel); strategy.setColumnNaming(NamingStrategy.underline_to_camel); // 實體是否為lombok模型,默認 false strategy.setEntityLombokModel(true); //生成 @RestController 控制器 strategy.setRestControllerStyle(true); // 駝峰轉連字符 strategy.setControllerMappingHyphenStyle(true); //表和前綴處理 strategy.setInclude('dt_defined_log'.split(',')); String[] tablePre = new String[]{'dt_'}; strategy.setTablePrefix(tablePre); autoGenerator.setStrategy(strategy); // 執行,以上相關參數可以基于動態輸入獲取 autoGenerator.execute(); }}

該方式是當前mybatis框架最流行的開發方式,代碼會簡潔很多。

四、插件工具

1、配置數據庫

這里選擇MySQL數據源,后續根據提示需要下載驅動配置。

Mybatis Plus插件三種方式的逆向工程的使用

2、連接配置

Mybatis Plus插件三種方式的逆向工程的使用

Url地址,賬號,密碼,獲取連接。

3、插件使用

這里選擇的是安裝EasyCode插件。

Mybatis Plus插件三種方式的逆向工程的使用

根據配置,生成逆向工程文件,整體思路和上述兩種方式一致。

五、源代碼地址

GitHub·地址https://github.com/cicadasmile/data-manage-parent

GitEE·地址https://gitee.com/cicadasmile/data-manage-parent

到此這篇關于Mybatis Plus插件三種方式的逆向工程的使用的文章就介紹到這了,更多相關Mybatis Plus 逆向工程內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: PVC快速门-硬质快速门-洁净室快速门品牌厂家-苏州西朗门业 | 山西3A认证|太原AAA信用认证|投标AAA信用证书-山西AAA企业信用评级网 | 【化妆品备案】进口化妆品备案流程-深圳美尚美化妆品有限公司 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 硬质合金模具_硬质合金非标定制_硬面加工「生产厂家」-西迪技术股份有限公司 | 示波器高压差分探头-国产电流探头厂家-南京桑润斯电子科技有限公司 | 分子精馏/精馏设备生产厂家-分子蒸馏工艺实验-新诺舜尧(天津)化工设备有限公司 | 电动葫芦|防爆钢丝绳电动葫芦|手拉葫芦-保定大力起重葫芦有限公司 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 仓储笼_仓储货架_南京货架_仓储货架厂家_南京货架价格低-南京一品仓储设备制造公司 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 超声波清洗机-超声波清洗设备定制生产厂家 - 深圳市冠博科技实业有限公司 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | 烘干设备-热泵烘干机_广东雄贵能源设备有限公司 | 政府园区专业委托招商平台_助力企业选址项目快速落地_东方龙商务集团 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 杰恒蠕动泵-蠕动泵专业厂家-19年专注蠕动泵 | 304不锈钢无缝管_不锈钢管厂家 - 隆达钢业集团有限公司 | 播音主持培训-中影人教育播音主持学苑「官网」-中国艺考界的贵族学校 | 假肢-假肢价格-假肢厂家-河南假肢-郑州市力康假肢矫形器有限公司 | 消泡剂_水处理消泡剂_切削液消泡剂_涂料消泡剂_有机硅消泡剂_广州中万新材料生产厂家 | 金刚网,金刚网窗纱,不锈钢网,金刚网厂家- 河北萨邦丝网制品有限公司 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 执业药师报名条件,考试时间,考试真题,报名入口—首页 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 建筑资质代办-建筑企业资质代办机构-建筑资质代办公司 | 西安展台设计搭建_西安活动策划公司_西安会议会场布置_西安展厅设计西安旭阳展览展示 | 台式核磁共振仪,玻璃软化点测定仪,旋转高温粘度计,测温锥和测温块-上海麟文仪器 | 快速门厂家-快速卷帘门-工业快速门-硬质快速门-西朗门业 | 优考试_免费在线考试系统_培训考试系统_题库系统_组卷答题系统_匡优考试 | 颚式破碎机,圆锥破碎机,制砂机-新乡市德诚机电制造有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 喷码机,激光喷码打码机,鸡蛋打码机,手持打码机,自动喷码机,一物一码防伪溯源-恒欣瑞达有限公司 | 医用酒精_84消毒液_碘伏消毒液等医用消毒液-漓峰消毒官网 |