- 浏览: 135882 次
- 性别:
- 来自: 重庆
文章分类
最新评论
-
spp_1987:
然后没了?
axis2对应jar的maven配置 -
tmbfe:
有用,谢谢!!
在Eclipse中创建maven项目出现的环境警告 j2se-1.5 -
fuyu_oo:
多谢多谢多谢
在Eclipse中创建maven项目出现的环境警告 j2se-1.5 -
haiou33:
麻烦问下 你这问题解决没 ,我先也出现了这个问题,还没找到合适 ...
axis2 File "/axis2-web/listSingleService.jsp" not found -
sachxp:
感谢PO主,帮了我大忙,特意登录感谢。@xieyongwei ...
在Eclipse中创建maven项目出现的环境警告 j2se-1.5
上篇mybatis里面写了怎么配置mybatis自动生成代码的生成器。
但是生成出来的代码含有Example文件和相当多的注释,令我很反感,所以根据我自己的需求和我想要得到的效果,于是我就编写了的代码来解决这2个烦人的东西 :
config.properties配置文件
你也可以将上面的代码保存在和generator.bat(不知道generator.bat的童鞋可以看上一篇:http://jynine.iteye.com/blog/1879707)同一个路径下,
然后再generator.bat里面添加下面的代码:
generator.bat最终效果如下:
ps:路径和上一篇有出入,请自行修改成你自己的路径。童鞋们也可以修改这个类,让它可以支持同时操作多个类。
但是生成出来的代码含有Example文件和相当多的注释,令我很反感,所以根据我自己的需求和我想要得到的效果,于是我就编写了的代码来解决这2个烦人的东西 :
import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.util.Properties; /** * 删除mybatis的注释类 * @author jynine * */ public class DelAnnotation { private static String PROJECTPATH = null; private static String MODELPATH = null; private static String DAOPATH = null; private static String MAPPERPATH = null; /** * 初始化路径 * @param pro */ public static void initPath(Properties pro){ PROJECTPATH = pro.getProperty("projectpath"); if(PROJECTPATH != null && !PROJECTPATH.equals("")){ MODELPATH = PROJECTPATH + pro.getProperty("modelpath"); DAOPATH = PROJECTPATH + pro.getProperty("daopath"); MAPPERPATH = PROJECTPATH + pro.getProperty("mapperpath"); } } /** * * @param oldFile * @param newFile * @param className * 类名 * @param type * 0:model 1:dao 2:mapper */ public static void copyFile(File oldFile, File newFile, String className, int type) { BufferedReader reader = null; FileWriter fileWriter = null; try { reader = new BufferedReader(new FileReader(oldFile)); fileWriter = new FileWriter(newFile); String tempString = null; int line = 1; boolean tag = true; boolean delimport = false; boolean examTag = false; String examStr = ""; while ((tempString = reader.readLine()) != null) { if (type == 2) { if (tempString.contains("<!--")) { tag = false; } if(tempString.contains(className+"Mapper")){ tempString = tempString.replace(className+"Mapper", className+"Dao"); } if(tempString.contains("Example") && !examTag){ examTag = true; examStr = tempString.substring(tempString.indexOf("<")+1,tempString.indexOf(" ", tempString.indexOf("<"))); } if (tag && !examTag) { fileWriter.write(tempString + "\n"); } if (tempString.contains("-->")) { tag = true; } if(examStr != null && examStr != ""){ if(tempString.contains("</"+examStr+">")){ examTag = false; } } line++; } else { delimport = false; if (tempString.contains("/**")) { tag = false; } if (tag) { if (type == 1) { if (tempString.indexOf(className + "Mapper") != -1) { tempString = tempString.replaceAll(className + "Mapper", className + "Dao"); } if (tempString.indexOf(className + "Example") != -1) { delimport = true; } if(tempString.indexOf("record") != -1){ tempString = tempString.replaceAll( "record",className.substring(0, 1).toLowerCase() + className.substring(1, className.length())); } if (tempString.indexOf("example") != -1) { tempString = tempString.replaceAll( "example",className.substring(0, 1).toLowerCase() + className.substring(1, className.length())); } if(!delimport){ fileWriter.write(tempString + "\n"); } }else{ fileWriter.write(tempString + "\n"); } } if (tempString.contains("*/")) { tag = true; } line++; } } fileWriter.close(); reader.close(); oldFile.delete(); } catch (IOException e) { System.out.println("文件删除失败:"+e.getMessage()); } finally { if (reader != null) { try { reader.close(); fileWriter.close(); } catch (IOException e1) { System.out.println("流关闭异常:"+e1.getMessage()); } } } } /** * 删除所有注释 * @param table */ public static void delAllAnnotation(String table) { delModelAnnotation(table); delDaoAnnotation(table); delXmlAnnotation(table); System.out.println("注释清理成功!"); } /** * 删除类中的注释 * @param table */ public static void delModelAnnotation(String table){ File oldFile = new File(MODELPATH + table + ".java"); File newFile = new File(MODELPATH + table + "Temp1.java"); File tempFile = new File(MODELPATH + table + "Example.java"); tempFile.delete(); copyFile(oldFile, newFile, table, 0); copyFile(newFile, oldFile, table, 0); } /** * 删除dao中的注释 * @param table */ public static void delDaoAnnotation(String table){ File oldDaoFile = new File(DAOPATH + table + "Mapper.java"); File newDaoFile = new File(DAOPATH + table + "Dao.java"); copyFile(oldDaoFile, newDaoFile, table, 1); } /** * 删除xml中的注释 * @param table */ public static void delXmlAnnotation(String table){ File oldMapperFile = new File(MAPPERPATH + table + "Mapper.xml"); File newMapperFile = new File(MAPPERPATH + table + "MapperTemp1.xml"); copyFile(oldMapperFile, newMapperFile, table, 2); copyFile(newMapperFile, oldMapperFile, table, 2); } public static void main(String[] args) { InputStream in =new DelAnnotation().getClass().getClassLoader() .getResourceAsStream("config.properties"); Properties pro = new Properties(); try { pro.load(in); initPath(pro); if(PROJECTPATH != null && !PROJECTPATH.equals("")){ delAllAnnotation(pro.getProperty("classname")); }else{ System.out.println("请配置路径!"); } } catch (IOException e) { System.out.println("出错了!!"); } } }
config.properties配置文件
classname=TestMasterlog projectpath=F:/myworkspace/TSSC modelpath=/src/main/java/com/complaint/model/ daopath=/src/main/java/com/complaint/dao/ mapperpath=/src/main/resources/com/complaint/dao/mapping/
你也可以将上面的代码保存在和generator.bat(不知道generator.bat的童鞋可以看上一篇:http://jynine.iteye.com/blog/1879707)同一个路径下,
然后再generator.bat里面添加下面的代码:
javac DelAnnotation.java java DelAnnotation
generator.bat最终效果如下:
@echo off echo==========mybatis开始生成代码================ java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite javac DelAnnotation.java java DelAnnotation pause echo==========mybatis生成代码完毕================
ps:路径和上一篇有出入,请自行修改成你自己的路径。童鞋们也可以修改这个类,让它可以支持同时操作多个类。
发表评论
-
java.lang.ClassNotFoundException: org.springframework.web.context.request.Reques
2015-01-24 17:11 4109一月 24, 2015 4:51:02 下午 org.apac ... -
解决Spring中@ResponseBody 返回json字符串date类型变成long型的问题
2014-11-14 13:23 8840package com.jynine.service; ... -
java.lang.ClassFormatError: Unknown constant tag 100 in class file java/sql/Driv
2014-08-27 15:34 2325linux下启动tomcat报这个错: Aug 27, 20 ... -
oracle数据库timestamp转date
2014-04-11 14:57 1222第一种方法: cast (mytimestamp as d ... -
JAVA之jar包读取外面的配置文件和引入其它的jar
2014-03-12 17:32 69181、Java文件 Test.java package co ... -
利用javapns对IOS进行推送
2014-02-21 18:16 2293package com.jynine.javapns; ... -
oracle 去重并按时间排序取第一条
2014-01-10 15:36 5476select t.* from (selec ... -
oracle 查看锁表并解锁
2013-12-30 20:10 1099先查询出锁: SELECT /*+ rule */ s.us ... -
java之可回调的固定线程池
2013-12-10 18:34 2330import java.util.Map; import j ... -
java之生成图片验证码
2013-12-09 23:42 1678由于自己的项目登录需要验证码,于是便谢了一个图片验证码生成类。 ... -
Axis2实现WebService实例
2013-06-25 00:36 1948Web Service是实现SOA(Service-Orien ... -
java用poi读取excel报错
2013-06-20 20:54 5212java.lang.IllegalStateException ... -
在Eclipse中创建maven项目出现的环境警告 j2se-1.5
2013-06-20 20:25 9920Build path specifies execution ... -
spring配置Quartz定时器时出现的异常
2013-06-17 17:41 2721spring配置Quartz定时器时出现的异常如下: org ... -
Mybatis之自动生成java代码和sql语句
2013-05-29 22:42 3024用Mybatis的童鞋可能会有这种感想:mybatis可以像h ... -
java数据库连接
2013-05-28 18:35 1149package com.jynine; import j ... -
java写csv文件
2013-05-28 18:29 1839package com.jynine; import j ... -
spring MVC+maven搭建之实例
2013-04-14 12:15 0经过昨天的maven搭建,现在整合maven和sprng mv ... -
java Stringutil 字符串(内含金额转换为中文)
2013-03-18 18:16 1310今天主要写了这个金额转换的方法,这个金额转换最大支持九仟万亿兆 ... -
java中二、八、十 、十六进制之间的转换
2013-03-12 11:43 1112java 中 二、八、十 、十六进制之间的转换 packa ...
相关推荐
下面将详细阐述MyBatis Generator的使用方法、功能以及它如何帮助我们自动化生成实体类和Mapper文件。 1. **MyBatis Generator概述** MyBatis Generator基于Java,它可以解析数据库表结构,并根据这些信息生成相应...
"mybatis xml文件自动生成"是开发过程中的一个重要环节,它可以帮助开发者提高效率,减少手动编写XML映射文件和对应的POJO(Plain Old Java Object)类的工作量。 MyBatis的Mapper文件是其核心组成部分之一,它包含...
这样,当我们优化MBG时,也可以确保生成的代码能够与Swagger注解兼容,使得API文档随着代码的生成自动更新。 在`remarks`这个文件中,可能包含了自定义注释格式的示例或者配置文件的模板。你可以根据这个文件的内容...
Mybatis Generator是一款强大的工具,它能够自动生成Java实体类(Entity)、Mapper接口和XML配置文件,极大地提高了开发效率。在"Maven"环境下,我们可以轻松地集成这个插件,实现自动化代码生成,尤其对于处理带有...
MyBatis批处理自动生成代码文件是一项非常实用的功能,它能够极大地提高开发效率,减少手动编写重复代码的工作量。此工具通常包含一个`.bat`批处理脚本,用于执行自动化生成过程,以及一个`generatorConfig.xml`配置...
java ~ mybatis-plus 自动生成实体类 jar
用mybatis-plus的自动生成器,我们一般只用到entity和mapperXML,其他mapper接口和service类都要自己写。 可以下载之后,根据自己表生成mapperXML,然后用全局替换来修改一些细节。
描述中提到的"mybatis自动生成代码的项目,里面有详细的步骤说明,简单易懂",意味着该项目不仅提供了MBG的配置和使用,还附带了清晰的教程,帮助用户理解如何配置Generator配置文件,如何执行生成操作,以及生成的...
MyBatis Generator(MBG)是一个强大的工具,用于自动生成MyBatis的SQL映射文件、Java模型类和Mapper接口。这个工具极大地提高了开发效率,减少了手动编写这些重复性高且容易出错的代码的工作量。`mybatis-generator...
标题中的"mybatis自动生成Java实体类和映射文件的自动生成类工具"指的就是这样的一个辅助开发工具,它可以分析数据库表结构,并根据表信息自动生成对应的Java实体类和Mapper接口及其XML配置文件。 在Java开发中,...
Mybatis自动代码生成工具是一种高效开发的神器,它极大地简化了开发者的工作,通过将数据库中的表映射为Java实体类和Mapper接口文件,使得开发者无需手动编写这些基础代码,从而节省了大量时间并降低了出错的可能性...
MyBatis Generator(MBG)是一个可以自动生成Java源代码和XML配置文件的工具,这些文件是基于用户指定的数据库表。它支持多种数据库,如MySQL在这里使用的版本5.1.40,以及其他如Oracle、SQL Server等。MBG的目标是...
MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和iBATIS 2.2.0版本以后的代码。 他可以内省数据库的表(或多个表)然后生成可以用来访问(多个)表的...
mybatis自动生成代码配置文件,通过配置文件详细讲解以生成各层代码。
例如,你可以指定是否生成Example类,是否覆盖已存在的文件,以及实体类字段的getter和setter方法等。 3. **定义模板**:MBG支持自定义模板,可以使用FreeMarker模板语言来定制生成的代码样式。如果你有特殊的需求...
MyBatis Generator是一个能够根据数据库表结构自动生成Java实体类、Mapper接口和XML配置文件的工具。以下是如何使用MyBatis Generator的基本步骤: 1. **配置MyBatis Generator XML文件**: 首先,你需要创建一个`...
在实际应用中,要正确使用这个插件,你需要将其配置到MyBatis的配置文件中,指定拦截的Mapper接口或注解,然后在Mapper接口的方法上使用定义的注解,即可享受自动SQL生成带来的便利。同时,由于插件适配的是MyBatis ...
直接运行 generator.sh 命令就可以, 如果是window系统,把后缀改为bat就可以了。工具来源,... 显示效果如下: public class DiseaseDoctors { /** * 病种id */ private String id; ... }
它能够根据已有的数据库表结构自动生成相应的Java实体类(Entity Class)以及Mybatis映射文件(Mapper XML)中的SQL语句,包括Select、Insert、Update和Delete等操作。这种自动化工具极大地提高了开发效率,减少了...
MyBatis Generator(MBG)是一款强大的自动化代码生成工具,专为MyBatis框架设计,能够自动生成DAO层、实体Bean以及Mapper XML文件,极大地提高了开发效率。在使用MBG时,用户只需要进行简单的配置,就可以自动生成...