更新了一下自己的POJO代码生成器

POJO代码生成器 大家在开发的过程中,最讨厌就是写POJO了,有很多开发人员喜欢用Hibernate去生成POJO,但是还是比较麻烦,我写的这个类,大家只要放到你的tomcat下面直接运行,用浏览器打开项目,只要在页面上选择一下数据库的名称就可以生成大家想要的代码,非常实用,而且简单,支持mysql,sqlserver,oracle三种数据库。 立即下载

 

 更新了一下自己的POJO代码生成器

 

 

前段时间模拟了一下Eclipse的Hibernate插件HibernateSynchronizer反转引擎的POJO代码生成功能。为了方便操作,当时就是手写Swing代码来做的用户界面。后来还是感觉不太好用,干脆就在原来的基础上修改一下,把数据类型映射使用配置档存储,这样就显得稍稍灵活一些了。为了让界面美观一点,还是使用了一下substance LookAndFeel 开源 Skin Lib 美化一下界面(使用Office 2007 的蓝色调皮肤),可能有点哗众取宠的感觉。

 

由于其实现原理和功能都比较简单,所以就不多作说明,以下是几张截图:

 

 

 

 

类型映射配置档内容:

 

 

目前这个版本生成的POJO代码实例(MS SQL Server类型映射方案,不包含TODO):

 

  

 

 

原来从来没想过能在 Swing 中实现这么漂亮的界面,还是归功于 Swing 完美的架构体系,通过 UI delegate  实现了插件化的“换肤”效果。已经实现了重写equals和hashCode方法,最终生成的代码已成为名符其实的POJO了。

 

原本计划改写成以“模板文件”来生成最终POJO类文件的,这样可以省去许多字符拼接和格式调整的逻辑,可以节省许多编码量。由于也不是什么功能强大的工具,POJO类的代码格式书写也不是特别复杂,为了偷懒,就还是沿用了原来的实现方式。这样,我好有时间干其它事情。

 

 

补充:

 

POJOGenerator(POJO代码生成器 v1.2)

本POJO代码生成器采用Java的Swing技术编码实现,是绿色免费工具,可以自由传播。
由于本工具的内部实现较菜,所以还请反编译高手手下留情,让我留几分颜面。^_^

作者本人只用过Oracle、MySQL、MS SQL Server这三款数据库产品,所以制作成exe
可执行文件时只添入了这三款数据库的驱动支持。如果您需要使用这款工具从其它
数据库中生成POJO,那么您可以联系我(Email:CodingMouse@gmail.com),我会
添加其它数据库的驱动支持后通过电子邮件发送给您。

简单的使用说明:
1、先将压缩档解压到任意文件夹。
2、可以预先在配置档cmsdk4j.cfg.xml中设定您的数据库服务器配置,配置档中已经
提供了默认的配置信息,您仅需在此基础上修改部分参数(如:IP地址、端口号、
用户名、密码、数据库名等),这些参数将作为生成器的预设数据库连接配置参数。
3、可以预先在配置档generator.cfg.xml中设定您的数据类型映射方案,配置档中已经
提供了MS SQL Server和Oracle两种映射方案,当然,可能有不太完整的地方,您可以
根据实际情况稍作修改即可。需要注意的一点是ref属性表示引用同一映射方案的另一
映射,这样您便可以简化同一映射数据类型的配置;而import属性是指定需要在最终
生成的源代码中作为类最开始的package类型导入声明部分的导入类型名称,因此,这
个名称是完整带包名的类名称,否则不能正确生成最终代码。配置档中提供的默认配置
如果不能满足你的需要,也可以自行根据实际情况进行修改。
4、所有配置档仅在工具启动初始读取一次并缓存到内存中,因此,如果您是在工具运行
时修改的配置档,请重新启动本工具以使新的配置生效。并且,所有配置档的XML结构均
不能修改,只能修改其节点间的文本值或属性值,否则会导致本工具无法工作。
5、所有最终代码生成效果都可以在左边的代码预览区域中查看和进行二次修改,点击
【写入磁盘文件】按钮生成到磁盘文件时将以代码预览区中的内容为准。当然,通常
更好的做法是将最终代码生成后拷贝到您的项目对应文件夹中。最好不要直接指向您的
项目文件夹,因为本工具会直接覆盖掉指定目录中同名的文件。最终生成的代码文件以
.java为扩展名。

如果您有好的建议,请发送留言到作者博客:http://blog.youkuaiyun.com/CodingMouse
或发送邮件到:CodingMouse@gmail.com

本工具已经打包成exe可执行文件,便于在Window环境下运行,但仍需要你的机器上
安装至少1.5版本的jre环境。

                                              By CodingMouse
                                              2009年7月14日

 

POJO代码生成器工具下载链接:

1、CSND资源中心:http://download.youkuaiyun.com/source/1489701 或 http://download.youkuaiyun.com/source/1490051

1、狐狸天堂论坛:http://www.foxsky.net/bbs/viewthread.php?tid=1132&page=1&extra=page%3D1

2、老紫竹的java世纪网:http://www.java2000.net/p17774

POJOGenerator v1.3.3 Install(可视化POJO代码生成器最终版) POJOGenerator(POJO代码生成器 v1.3.3) 本POJO代码生成器采用Java的Swing技术编码实现,是绿色免费工具,可以自由传播。 由于本工具的内部实现较烂,所以还请反编译高手手下留情,让我留几分颜面。^_^ 由于本人只用过Oracle、DB2、MySQL、MS SQL Server这四款数据库产品,所以制作 成exe可执行文件时只添入了这四款数据库的驱动支持。如果您需要使用这款工具从 其它数据库中生成POJO,那么您可以联系我(Email:CodingMouse@gmail.com), 我会添加其它数据库的驱动支持后通过电子邮件发送给您。 简单的使用说明: 1、先将压缩档解压到任意文件夹,必须保留配置文件cmsdk4j.cfg.xml和generator .cfg.xml与可执行文件POJOGenerator.exe在同一目录,否则无法运行。 2、可以预先在配置档cmsdk4j.cfg.xml中设定您的数据库服务器配置,配置档中已经 提供了默认的配置信息,您仅需在此基础上修改部分参数(如:IP地址、端口号、 用户名、密码、数据库名等),这些参数将作为生成器的预设数据库连接配置参数。 3、可以预先在配置档generator.cfg.xml中设定您的数据类型映射方案,配置档中已经 提供了MS SQL Server/MySQL/DB2和Oracle两种映射方案,当然,可能有不太完整的地方 ,您可以根据实际情况稍作修改即可。需要注意的一点是ref属性表示引用同一映射方案 的另一映射,这样您便可以简化同一映射数据类型的配置;而import属性是指定需要在 最终生成的源代码中作为类最开始的package类型导入声明部分的导入类型名称,因此, 这个名称是完整带包名的类名称,否则不能正确生成最终代码。配置档中提供的默认配 置如果不能满足你的需要,也可以自行根据实际情况进行修改。最后,需要大家注意的 一点就是由于最终生成的代码要调用包装类型的equals和hashCode方法,因此,配置的 数据类型必须是包装类型,如果用基本类型生成的POJO代码是无法通过编译的。 4、所有配置档仅在工具启动初始读取一次并缓存到内存中,因此,如果您是在工具运行 时修改的配置档,请重新启动本工具以使新的配置生效。并且,所有配置档的XML结构均 不能修改,只能修改其节点间的文本值或属性值,以及添加新的标签组,否则会导致本 工具无法工作。选择“界面皮肤方案”后,默认会在当前目录生成名为skin.dat的文件, 这是一个Properties属性文件,用于保存您最后选择的皮肤名称,以便下次打开此工具 时加载您所选择的皮肤来渲染工具UI界面。 5、所有最终代码生成效果都可以在左边的代码预览区域中查看,可点击滑动箭头显示出 被隐藏的POJO代码卡片。点击“写入磁盘文件”按钮即可将POJO代码的Java源码文件写入 到指定文件夹中。POJO代码的equals方法重写完全符合《Core Java》所述规范,同时, 其中的hashCode方法重写则参考了Netbeans中JavaBean转换器的写法。为保障原有代码安 全,通常更好的做法是将最终代码生成后拷贝到您的项目对应文件夹中。最好不要直接指 向您的项目文件夹,因为本工具会直接覆盖掉指定目录中同名的文件。最终生成的代码文 件以.java为扩展名。 6、从1.3版开始生成的POJO代码目录中可自动添加一个名为pojo.ntf.xml的POJO映射通 知档,其中,ID列名默认使用主键名称(若为复合主键则采用次序排首位的主键列名) ,而Oracle环境下的sequence对象名称则为“seq_表名_id”格式的默认名称,请根据 实际情况修改。该配置档用于CmSdk4j-Core框架的ORM映射,不需要则请不要勾选此项或 在生成后直接删除即可。 7、目前1.3.3版与1.3版差异不大,仅修改了POJO类名与成员变量名的大小写处理策略。 即目标数据库服务器为Oracle时,才将表名除首字母外全部小写处理成POJO类名,同理, 成员变量名也只在Oracle数据库情况下才全小写处理。其余数据库如:DB2、MySQL、 MS SQL Server则直接处理为除首字母大写外,其余全部保留原始大小写。其中,对于 表名的处理还直接去掉了空格符和下划线,并且若为Oracle数据库时,下划线亦作为首 字母大写的分隔标志,如:HRM_HUMAN_RESOURCE,最终生成的POJO类名将直接去掉串中 的下划线,并以下划线作为首字母大写的起始,即:HrmHumanResource + POJO类名后缀。 同理,成员变量名的处理也是采用了相同的处理策略。最终处理效果详见生成写入到磁盘 的pojo.ntf.xml配置档。 8、此小工具一直均只写来自用,以便与自己的O/R Mapping简易版工具配套使用,目前 1.3.3这个版本已经能满足自己的需要,同时为了方便预览POJO代码生成的效果,特意添 加了语法着色功能,其着色色调搭配和关键字字典数据来源于EmEditor这款带语法着色的 纯文本编辑器,并且该色调搭配方案也被多款JS版本的语法着色器采用,色调可读性较高。 此小工具虽然GUI、功能这些都相对较弱,但自用已经足够。因此,后期可能就不再考虑 功能更新了,请见谅! 如果您有好的建议,请发送留言到作者博客:http://blog.youkuaiyun.com/CodingMouse 或发送邮件到:CodingMouse@gmail.com 本工具已经打包成exe可执行文件,便于在Window环境下运行,但仍需要你的机器上 安装至少1.6版本的jre环境(受打包工具的jre版本不兼容限制影响)。 By CodingMouse 2010年5月22日 立即下载

相关推荐

实体类POJO生成器

POJO实体类生成器,MySQL 、Oracle、 SQLserver三大数据库都可以用,点击打开就可以用

Java:效率工具之Pojo类生成器

做Maven项目工程时,往往需要使用Pojo类来封装查询的sql信息 PojoCreator4j可以解决需要不断手敲字段的机械录入工作 特别适用于字段多、类型多、数据表多的情况 package com.test; import java.util.ArrayList; import java.util.Collections; import java.util.regex.Matcher; ...

weixin_43810579的博客 1674

POJO生成器

POJO生成器 生实体!

mybatisPlus生成器-主要生成POJO

由于主要生成POJO文件,其他的生成builder已禁用,使用的内置模板,entityBuilder的配置具体查看官网文档参考目录下的配置。主要生成器代码,自己补充数据库配置,直接运行即可,对比官网代码就是将多生成一个包名,并且不需要指定生成位置的绝对路径。下面是生成器模块pom.xml导maven包,用的jdk1.8版本。

qq_42496724的博客 710

解析pdm生成pojo(java代码生成器)

解析pdm生成javaBean和hbm。

深入RK3588嵌入式Linux开发:uboot源码定制化移植实战

本文详细介绍了RK3588嵌入式Linux开发中,如何绕过庞大的官方SDK,从官方仓库获取纯净U-Boot源码并进行定制化移植的完整实战流程。内容包括编译环境搭建、交叉工具链配置、源码结构解析、设备树(Device Tree)修改、环境变量定制、编译脚本编写以及常见问题调试技巧,旨在帮助开发者深入理解系统引导过程,掌握为定制硬件适配U-Boot的核心技能。

weixin_29169505的博客 422

设计一个POJO生成器-第1次迭代

设计一个POJO生成器-第1次迭代 实施增量开发过程,开发一个POJO生成器 需求 能够为一个只有常用类型成员的类型生成实例,用户可以提供一个字符串数组告诉生成器忽略指定字段 常用类型包括: java.math.BigDecimaljava.util.Datejava.time.ZonedDateTimeBooleanStringDoubleIntegerLong 设计 ...

Luncert的博客 256

ModelSim 2020.4破解失败?手把手教你解决‘Unable to checkout viewer license‘报错(附环境变量配置)

本文针对ModelSim 2020.4启动时遇到的‘Unable to checkout viewer license’报错,提供了从理解许可证机制到分步修复的完整指南。文章深入解析了viewer license与图形用户界面(GUI)的关系,并详细说明了通过生成有效许可证文件、精准配置系统环境变量及替换关键文件来解决图形界面启动失败的问题,帮助用户彻底修复并理解其背后的逻辑。

k6l7m8n9的博客 990

myabtisPlus代码生成器【pojo、mapper、crud】

代码生成器,使用IDEA 编写,mapper,pojo,interface等使用方法尽情的挥洒吧注意事项通用于任何数据库 使用方法 第一步,将项目导入到自己的IDE中 如图: 选择项目文件夹后,点击OK 然后点击Netx 如图 继续点击Next–Next–Next 然后选择JDK版本,Next 最后点击Finish即可 如图: 尽情的挥洒吧 注意事项 ...

。。。。 1276

船舶轨迹预测中的5个常见坑:基于LSTM单步预测的避坑实践

本文针对船舶轨迹预测中LSTM单步预测的常见问题,系统总结了五个典型陷阱及避坑实践。重点分析了如何正确处理AIS数据的非均匀采样与清洗、对航向角进行周期性编码、采用轨迹级归一化策略、缓解单步滚动预测的误差累积,并设计贴合业务的评估指标。这些实践能有效提升预测模型的准确性与实用性。

cnn8visionary的博客 631

CCC数字钥匙3.0标准解读(16)

介绍通信过程最重要部分:身份认证和加密.介绍需要身份认证的过程和需要加密的数据及过程.

weixin_41738640的博客 1531

清华大牛的骚操作,让你的 postman 自动生成 POJO 代码

修改postman工具的代码生成工具加入response自动生成POJO代码 如上图可以快速把请求这个动作转成code,减少重复性劳动。 但是有一点我觉得可以优化下 就是返回的json如果也能自动转成代码就好了。 不然在需要把json序列化成java或者csharp的POJO对象时还得自己coding转一遍。 由于最近经常会用到这个功能,虽然我找到一个站点把json复制粘贴进去,然后点个按钮就可以转成POJO,但是我觉得还是有很多重复性的劳动。 对我我这种懒人,postman又没有提供可扩

stone_tmp的博客 361

SPI为什么不需要加上拉电阻

大家好,我是记得诚。I2C因为其开漏的结构,无法输出高电平,所以外部加上拉电阻。我们在使用SPI的时候,发现是不需要加上拉电阻的。主要因为SPI多为推挽的结构,推挽电路,高低电平都可以输出,所以外部不需要加上拉电阻。推挽电路可以用2个三极管或者2个MOS管搭建而成。

记得诚 2619

【龙年献礼】POJOGenerator(POJO代码生成器 v1.3.3)最终版(以后不再更新)

POJOGenerator(POJO代码生成器 v1.3.3) 本POJO代码生成器采用Java的Swing技术编码实现,是绿色免费工具,可以自由传播。 由于本工具的内部实现较烂,所以还请反编译高手手下留情,让我留几分颜面。^_^ 由于本人只用过Oracle、DB2、MySQL、MS SQL Server这四款数据库产品,所以制作 成exe可执行文件时只添入了这四款数据库的驱动支持。如果您

CodingMouse的专栏 2482

AutoSAR配置与实践(实践篇)13.1 如何添加一个NVM BLOCK

解决办法:如下红框选项都不要自定义,否则无法自动生成对应RAM/ROM映射接口函数。传送门–AUTOSAR配置与实践—总目录传送门–AUTOSAR配置与实践—总目录。

nihaoljq2010的博客 3035

代码复现3—VLN-CE

运行训练完后在 data文件下会自动生成一个“checkpoints”文件,文件下包含任务文件“seq2seq”,该文件下会包括训练出来的权重和评估结果。数据集下载完后路径提取:data/scene_datasets/mp3d/{scene}/{scene}.glb。注意这里下载的数据集并不是所有的matterport3d,只需要一部分,包含90个场景,大小压缩后约16G。在“eval”时,会在data文件下生成videos文件,里面存放的是可视化的轨迹视频。

qq_44100524的博客 3198

jooq多表查询_二、jOOQ 系列教程 - 基础CURD

通过 DSLContext API 和 Record API,可以完成基础CURD操作。本篇主要通过一些实例代码,讲解最基础的用法。后面的相关篇幅中,也会说到一些扩展以及其他高级用法从此篇幅开始,以下代码块中不再详细编写关于DSLContext的创建过程,具体可以看 section-1 中讲解的基础初始化方式dslContext 代表DSLContext实例S1_USER 由jOOQ插件生成的表...

weixin_39591386的博客 1084

Coze智能体开发:扣子智能体设置多Agent模式

在扣子中创建智能体后,智能体默认使用单 Agent 模式。在单 Agent 模式下处理复杂任务时,你必须编写非常详细和冗长的提示词,而且你可能需要添加各种插件和工作流等,这增加了调试智能体的复杂性。调试时任何一处细节改动,都有可能影响到智能体的整体功能,实际处理用户任务时,处理结果可能与预期效果有较大出入。

王国平的博客 3712

二、基础CURD

通过DSLContextAPI 和RecordAPI,可以完成基础CURD操作。本篇主要通过一些实例代码,讲解最基础的用法。后面的相关篇幅中,也会说到一些扩展以及其他高级用法 从此篇幅开始,以下代码块中不再详细编写关于DSLContext的创建过程,具体可以看section-1中讲解的基础初始化方式 dslContext代表DSLContext实例 S1_USER由jOOQ插...

compassy的博客 821

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Mybatis-plus

https://baomidou.com/pages/779a6e/ 官网地址。雪花算法:开源分布式ID生成算法。乐观锁:认为不会出问题,不去上锁,如果出了问题,再次更新值测试。逻辑删除:通过变量控制 deleted = 1 为删除。(1)删除数据库的默认值,和自动更新。悲观锁:认为一定会出问题,一定要上锁。1、字段添加TableId。1、数据库级别(不建议)(3)编写处理器处理注解。2、数据库字段设置自增。物理删除:从数据库删掉。新增字段deleted。id是雪花算法生成的。创建时间、修改时间等。

qq_40575302的博客 583

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

狂神MyBatisPlus学习笔记

MyBatisPlus概述 简化Mybatis MyBatisPlus官网 本笔记是基于【狂神说Java】MyBatisPlus最新完整教程通俗易懂 MySQL版本 5.7(5.7以下的更新一下,不然后续学习自动填充会卡壳) 添加createTime和updateTime导致导入 SQL 时出现 Invalid default value for ‘create_time’ 报错解决方法 MyBatis-Plus版本 3.0.5 QuickStart 根据官网提供的数据导入mybatisplus数据

双双博客 554

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Mybatis-Plus

1 Mybatis-Plus简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。该框架由baomidou(苞米豆)组织开发并且开源的。官网:mybatis.plus 或 https://mp.baomidou.com/,码云地址:baomidou: 苞米豆,为提高生产率而生! 2 快速入门 2.1 创建数据库及表 -- 创建测试表 CREATE TABLE `tb_user` ( `id`.

秃头程序员的博客 995

Mybatis-Plus学习

目录1. mybatisplus概述1.1 特性1.2 快速入门1.3 配置日志1.4 CRUD扩展1.4.1 insert插入1.4.2 主键生成策略1.4.3 更新操作1.4.4 自动填充1.4.5 乐观锁 1. mybatisplus概述 官方文档:链接 mybatisplus是一个mybatis的增强工具,在mybatis的基础上只做增强不做改变,为简化开发、提高效率而生。 1.1 特性 1.2 快速入门 1.先建个数据库mybatisplus,然后执行下面代码建表 DROP TABLE IF E

henulmh的博客 5692

SpringBoot使用Mybatis-Plus详解

文章目录MyBatisPuls概述快速入门创建表导入依赖配置文件pojomapper测试配置日志插入操作(Insert插入)主键生成策略更新操作查询操作:【单一查询、批量查询、条件查询map】分页查询删除操作逻辑删除自动填充乐观锁性能分析插件条件构造器Wrapper代码自动生成器 MyBatisPuls概述 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生 国产的开源框架,基于MyBatis 核心功能是简化MyB

liuerchong的博客 6227

mybatis-Plus教程

原笔记存储于有道笔记中,更适合阅读 文档:mybatis-Plus使用记录.note 链接:http://note.youdao.com/noteshare?id=b916469aa6376514f32309bf88c39a79&sub=05381DE4DF7D43D4A5287C5BDB0464E1 参考博客: https://blog.youkuaiyun.com/CodeInCoke/article/details/121030290 一、介绍 二、快速实践 1、导入对应的依赖 2、链接数据库 3、创建p

weixin_44281922的博客 874

MyBatisPlus学习笔记

文章目录MyBatisPlus学习笔记简介特性框架结构快速使用引入mybatis-plus相关maven依赖引入mybatis-plus在spring boot中的场景启动器项目中其他需要导入依赖创建表SQL语句项目结构一览项目配置配置MapperScan注解application.properties配置创建Entity(Pojo)实体创建接口普通的CRUD操作注解#[@TableName(opens new window)](https://github.com/baomidou/mybatis-plu

康小庄的博客 868
上一篇: 关于细粒度泛型DAO封装的一些思考
下一篇: 发布一个自用的Java简易版ORM框架
CodingMouse
博客等级 码龄19年 82粉丝 48原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值