Mybatis框架,MybatisGenerator+lombok

 2023-10-18 阅读 30 评论 0

摘要:先繼承Mybatis的插件適配器, 寫一個自己的插件 package org.mybatis.generator.plugins;import org.mybatis.generator.api.IntrospectedColumn; import org.mybatis.generator.api.IntrospectedTable; import org.mybatis.generator.api.PluginAdapter; import org.mybatis.g

先繼承Mybatis的插件適配器, 寫一個自己的插件

package org.mybatis.generator.plugins;import org.mybatis.generator.api.IntrospectedColumn;
import org.mybatis.generator.api.IntrospectedTable;
import org.mybatis.generator.api.PluginAdapter;
import org.mybatis.generator.api.dom.java.Interface;
import org.mybatis.generator.api.dom.java.Method;
import org.mybatis.generator.api.dom.java.TopLevelClass;import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;/*** @author Liweizhou  2018/6/6*/
public class LombokPlugin extends PluginAdapter {@Overridepublic boolean validate(List<String> list) {return true;}@Overridepublic boolean modelBaseRecordClassGenerated(TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {//添加domain的importtopLevelClass.addImportedType("lombok.Data");topLevelClass.addImportedType("lombok.Builder");topLevelClass.addImportedType("lombok.NoArgsConstructor");topLevelClass.addImportedType("lombok.AllArgsConstructor");//添加domain的注解topLevelClass.addAnnotation("@Data");topLevelClass.addAnnotation("@Builder");topLevelClass.addAnnotation("@NoArgsConstructor");topLevelClass.addAnnotation("@AllArgsConstructor");//添加domain的注釋topLevelClass.addJavaDocLine("/**");topLevelClass.addJavaDocLine("* Created by Mybatis Generator on " + date2Str(new Date()));topLevelClass.addJavaDocLine("*/");return true;}@Overridepublic boolean clientGenerated(Interface interfaze, TopLevelClass topLevelClass, IntrospectedTable introspectedTable) {//Mapper文件的注釋interfaze.addJavaDocLine("/**");interfaze.addJavaDocLine("* Created by Mybatis Generator on " + date2Str(new Date()));interfaze.addJavaDocLine("*/");return true;}@Overridepublic boolean modelSetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {//不生成getterreturn false;}@Overridepublic boolean modelGetterMethodGenerated(Method method, TopLevelClass topLevelClass, IntrospectedColumn introspectedColumn, IntrospectedTable introspectedTable, ModelClassType modelClassType) {//不生成setterreturn false;}private String date2Str(Date date) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");return sdf.format(date);}
}

首先在本機編譯這份java文件, 生成的字節碼文件(.class), 先到maven倉庫的這個目錄

org\mybatis\generator\mybatis-generator-core\1.3.5 (版本無所謂, 根據自己情況修改)
找到這個mybatis-generator-core-1.3.5.jar文件
把字節碼塞到 jar包對應的包文件夾下面

Mybatis框架,在這里插入圖片描述

mybatis-generator.xml大概如下: 留意標簽的位置

<?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 id="postgresql" targetRuntime="MyBatis3"><plugin type="org.mybatis.generator.plugins.LombokPlugin" ><property name="hasLombok" value="true"/></plugin><!--關閉注釋 --><commentGenerator><property name="suppressAllComments" value="true"/></commentGenerator><!--數據庫連接信息 --><jdbcConnection driverClass="org.postgresql.Driver"connectionURL=""userId="" password=""></jdbcConnection><!--生成的model 包路徑 --><javaModelGenerator targetPackage="com.lwz.dao.generator.model"targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaModelGenerator><!--生成xml mapper文件 路徑 --><sqlMapGenerator targetPackage="mapper/generator" targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 生成的Dao接口 的包路徑 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.lwz.dao.generator.mapper" targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!--對應數據庫表名 --><table tableName="example"></table></context>
</generatorConfiguration>
/**
* Created by Mybatis Generator on 2018/06/06
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Example{

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/148862.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息