`
vipbooks
  • 浏览: 138422 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类

根据表结构自动生成JavaBean,史上最强最专业的表结构转JavaBean的工具(第6版)

阅读更多
        第6版重大更新震撼发布,功能更加强大,速度过来围观,这次版本更新如下:
             1、新增测试数据库连接。
             2、标准模板新增C#标准模板。
             3、字段转换设置新增需要在某类型上添加的注解配置。
             4、新增实体生成策略,可以根据项目的需求为实体配置不同的生成策略。
             5、新增实体主键生成策略,可以配置手动生成主键也可以配置自动生成主键。
             6、可以根据选择的标准模板不同自动生成相应扩展名的文件,也可以手动设置文件扩展名。
             7、新增设置文件注释,并可以使用部分系统参数。
             8、新增设置类注释,并可以使用部分系统参数。
             9、集成工具新增String字符串拼接工具,实现秒拼StringBuffer,再也不怕拼长长的SQL了。
             10、集成工具新增XML字符串拼接工具。

        欢迎访问TableGo官网:http://www.tablego.cn
            
        大家在使用的过程中如果发现了bug一定要记得告诉我,我好在下个更新版本中进行修复。
       
        一直以来把数据库的表转换成Entity或DTO都是一件让人头痛的事情,既浪费时间又很繁琐,看着几十上百个表的几百上千个字段,真是一件让人很头痛的事情。
        我们也想过很多办法解决这个问题,包括用MyEclipse连接数据库生成JavaBean,但多多少少还是会有一些不尽人意的地方,包括表和表字段的comment总是无法生成,而且还会生成很多无用的注释代码,让代码看起来一点都不干净,配置非常繁琐等等问题。
        于是一怒之下,自己动手丰衣足食,就在去年自己用Swing写了一个通过数据库的表生成JavaBean的工具,支持MySQL、Oracle、SQLServce,完美支持JPA注解,可以同时生成Entity和DTO,可以自动去除表前缀,并支持去除多个前缀,支持精确指定只生成哪几个表的Bean,也支持模糊查找生成哪几个表的Bean,现在不但成员变量上能生成备注了,而且在Getter和Setter上也能有备注了!
        更重要的是所有的配置都能被保存到本地,只要配置过一次,下次使用只要点一下生成JavaBean,下一秒就能拿到你想要的JavaBean了,完全实现秒生成。

        经过几个项目的使用和积累,我决定把它分享出来给大家用,大家有什么好的建议和想法也都可以提出来,因为比较忙,一直没有时间去修改和维护,所以一定会有些bug。由于环境的原因,主要测试的是MySQL,Oracle和SQLServer测试不全,可能会有点Bug,大家如果发现什么Bug记得要告诉我,在下个版本中进行修复。

        好了,下面给大家介绍一下我写的这个工具吧。

1、配置数据库界面:



2、配置转换参数界面,标准模板新增C#标准模板:



3、字段转换设置界面,可以根据不同的项目需求配置不同的字段转换类型,新增需要在某类型上添加的注解配置:



4、高级设置界面,新增实体生成策略、主键生成策略、设置文件注释、设置类注释,可根据根据选择的标准模板不同自动生成相应扩展名的文件,要导入的包和要排除的包可以设置自定义的导包关键字,如:using System; :



5、集成工具界面,新增String字符串拼接工具、XML字符串拼接工具:



6、选择支持的数据库以后,下面的驱动名、IP地址、库名、端口、用户名和密码都会自动跟着做相应的修改,以支持不同的数据库:





7、配置好数据库以后点击测试数据库连接按钮就能测试数据库是否能够连接成功。



8、选择模板的功能,新增C#标准模板,可以根据需要生成不同语言的Bean。大家如果想要生成其它编程语言的Bean可以发一个那种编程语言的标准Bean给我,我做成标准模板发布上来:



9、查看数据库中所有表的对话框,在精确匹配文本框旁点击更多按钮或双击精确匹配文本框,即可弹出选择数据库表的对话框,这里将列出数据库中所有的表,并支持模糊查询(不区分大小写)查找需要的表,在复选框中选中需要的表,点确认选择即可:





10、支持带JPA注释和不带JPA注释的Bean:



11、字段转换设置新增需要在某类型上添加的注解配置。这里暂时只加了为Date类型添加注解的功能,这也是用得最多的,如果还要在其它类型上添加注解也可以告诉我:



12、新增实体生成策略,可以根据项目的需求为实体配置不同的生成策略:



13、新增实体主键生成策略,可以配置手动生成主键也可以配置自动生成主键:



14、可以根据选择的标准模板不同自动生成相应扩展名的文件,也可以手动设置文件扩展名:





15、新增设置文件注释和设置类注释的功能,并可以使用部分内部参数:







16、新增String字符串拼接工具,实现秒拼StringBuffer,再也不怕拼长长的SQL了:





17、新增XML字符串拼接工具:





18、工具第一次打开会自动生成两个配置文件,一个是配置数据库的,一个是配置参数的,如果设置了文件注释和类注释还会生成这两个注释的配置文件,一般第一次进去只要配置好数据库,点生成JavaBean,默认就能同时生成Entity和DTO了:









19、这是自动生成出来的Entity和DTO:





20、QQ交流群(入群密码:TableGo):
        在交流群里我会不定期的发布一些最新的测试版本给大家使用,大家在使用的过程中遇到什么问题或发现什么Bug都可以在交流群里提出来,大家一起讨论一起交流,共同发展和进步。


        使用该工具需要安装Java1.6及以上版本的,因为开发环境是JDK1.7,编译环境是JDK1.6,所以1.7和1.6的JDK都能运行,其它版本的JDK还没有测试过,更高版本的应该没有问题,必需要在操作系统的环境变量里配置好JAVA_HOME,不然会找不到Java。

        找了好多的把Jar包打包成EXE文件的工具,都不能完美支持64位的系统,最后找到了exe4j,终于能完美支持打包成64位系统支持的版本了,我自己用的是64位的Win10系统,如果生成的32位程序不能运行大家就说一声,我再去找虚拟机测试。

        注意:在每次下载一个新的版之后,如果覆盖到老版本的目录中去,最好先将已存在的paramConfig.ini配置文件删除,打开程序后会自动重新生成一个与最新版本匹配的配置文件,这样可以避免新功能出问题。

目录:
        第1版:http://vipbooks.iteye.com/blog/2209994
        第2版:http://vipbooks.iteye.com/blog/2211951
        第3版:http://vipbooks.iteye.com/blog/2212312
        第4版:http://vipbooks.iteye.com/blog/2215225
        第5版:http://vipbooks.iteye.com/blog/2219977
        第6版:http://vipbooks.iteye.com/blog/2224496
        第7版:http://vipbooks.iteye.com/blog/2230565
        第8版:http://vipbooks.iteye.com/blog/2283657
        第9版:http://vipbooks.iteye.com/blog/2296688
        第10版:http://vipbooks.iteye.com/blog/2318008
        第11版:http://vipbooks.iteye.com/blog/2330047
        第12版:http://vipbooks.iteye.com/blog/2339579
        v4.1.2版:http://vipbooks.iteye.com/blog/2351354
        v5.0.0版:http://vipbooks.iteye.com/blog/2375473
        v5.8.0版:http://vipbooks.iteye.com/blog/2404307
        v5.8.8版:http://vipbooks.iteye.com/blog/2412608
        v6.0.0版:http://vipbooks.iteye.com/blog/2441008
  • 大小: 22.6 KB
  • 大小: 19.6 KB
  • 大小: 26.7 KB
  • 大小: 18.5 KB
  • 大小: 12.6 KB
  • 大小: 23 KB
  • 大小: 22.5 KB
  • 大小: 27.3 KB
  • 大小: 20.5 KB
  • 大小: 22.7 KB
  • 大小: 51.5 KB
  • 大小: 22.1 KB
  • 大小: 98.4 KB
  • 大小: 22.8 KB
  • 大小: 22 KB
  • 大小: 10.7 KB
  • 大小: 12.8 KB
  • 大小: 55.3 KB
  • 大小: 60 KB
  • 大小: 16.4 KB
  • 大小: 63.1 KB
  • 大小: 67.9 KB
  • 大小: 51 KB
  • 大小: 48.9 KB
  • 大小: 11.6 KB
  • 大小: 11.4 KB
  • 大小: 13.4 KB
  • 大小: 24.7 KB
  • 大小: 17.2 KB
  • 大小: 15.9 KB
8
8
分享到:
评论
14 楼 xulei 2015-07-06  
漂亮,源码在GitHub上面吗?
13 楼 vipbooks 2015-07-06  
yang7527 写道
java.lang.NullPointerException
at java.lang.String.replace(Unknown Source)
at util.CommonUtils.setExpressionArgs(CommonUtils.java:357)
at util.CommonUtils.setBeanRemark(CommonUtils.java:333)
at build.BeanBuilder.tableToBean(BeanBuilder.java:396)
at build.BeanBuilder.build(BeanBuilder.java:284)
at ui.TableToBeanUI.submitBtnActionPerformed(TableToBeanUI.java:419)
at ui.TableToBeanUI.access$3(TableToBeanUI.java:388)
at ui.TableToBeanUI$3.actionPerformed(TableToBeanUI.java:281)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)



楼主为什么报这个错啊。急~我用sqlserver 能填写的字段都填了

你把所有的.ini文件发给我看看,或者你把所有的ini文件删除应该就好了。
12 楼 yang7527 2015-07-06  
java.lang.NullPointerException
at java.lang.String.replace(Unknown Source)
at util.CommonUtils.setExpressionArgs(CommonUtils.java:357)
at util.CommonUtils.setBeanRemark(CommonUtils.java:333)
at build.BeanBuilder.tableToBean(BeanBuilder.java:396)
at build.BeanBuilder.build(BeanBuilder.java:284)
at ui.TableToBeanUI.submitBtnActionPerformed(TableToBeanUI.java:419)
at ui.TableToBeanUI.access$3(TableToBeanUI.java:388)
at ui.TableToBeanUI$3.actionPerformed(TableToBeanUI.java:281)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)



楼主为什么报这个错啊。急~我用sqlserver 能填写的字段都填了
11 楼 yang7527 2015-07-06  
java.lang.NullPointerException
at java.lang.String.replace(Unknown Source)
at util.CommonUtils.setExpressionArgs(CommonUtils.java:357)
at util.CommonUtils.setBeanRemark(CommonUtils.java:333)
at build.BeanBuilder.tableToBean(BeanBuilder.java:396)
at build.BeanBuilder.build(BeanBuilder.java:284)
at ui.TableToBeanUI.submitBtnActionPerformed(TableToBeanUI.java:419)
at ui.TableToBeanUI.access$3(TableToBeanUI.java:388)
at ui.TableToBeanUI$3.actionPerformed(TableToBeanUI.java:281)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
10 楼 vipbooks 2015-07-06  
hcq1986224 写道
你开发不管是用那套ORM框架,映射肯定得写,这个是省不了的,映射定了,自然java bean就能生成,hibernate也一样,配的是映射文件而已,完全一样也不用配置,而且开发都会有IDE,生成java bean你文本工具开发么?经常用的就是eclipse,生成完也不影响你上传svn,eclipse的svn插件也不错,感觉你这重复造轮子了。不过以学习的目的另当别论

无论你是用Hibernate还是用JPA,所有表和字段映射都是可以用注解的方式自动生成的,你可以看上面我生成的Entity的图片,现在谁还会用最原始的XML去配置Hibernate的映射啊,那真是太傻X了,我在项目中都没有见到过了,无论是几万的项目还是几百万的项目都没看到过。
你如果维护过eclipse插件没,如果你维护过就会知道IDE各种更新,各种版本,各种不兼容,各种问题,非常的麻烦。
这个工具可以很快的一次生成几百个表的实体和DTO,可以由DB设计好数据库,生成好Entity和DTO然后上传到SVN让开发人员用,他根本就不需要打开Eclipse。
9 楼 vipbooks 2015-07-06  
xiexie123 写道
java.lang.NullPointerException
at java.lang.String.replace(Unknown Source)
at util.CommonUtils.setExpressionArgs(CommonUtils.java:357)
at util.CommonUtils.setBeanRemark(CommonUtils.java:333)
at build.BeanBuilder.tableToBean(BeanBuilder.java:396)
at build.BeanBuilder.build(BeanBuilder.java:284)
at ui.TableToBeanUI.submitBtnActionPerformed(TableToBeanUI.java:419)
at ui.TableToBeanUI.access$3(TableToBeanUI.java:388)
at ui.TableToBeanUI$3.actionPerformed(TableToBeanUI.java:281)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

你把所有的.ini文件发给我看看,或者你把所有的ini文件删除应该就好了。
8 楼 hcq1986224 2015-07-06  
你开发不管是用那套ORM框架,映射肯定得写,这个是省不了的,映射定了,自然java bean就能生成,hibernate也一样,配的是映射文件而已,完全一样也不用配置,而且开发都会有IDE,生成java bean你文本工具开发么?经常用的就是eclipse,生成完也不影响你上传svn,eclipse的svn插件也不错,感觉你这重复造轮子了。不过以学习的目的另当别论
7 楼 xiexie123 2015-07-06  
java.lang.NullPointerException
at java.lang.String.replace(Unknown Source)
at util.CommonUtils.setExpressionArgs(CommonUtils.java:357)
at util.CommonUtils.setBeanRemark(CommonUtils.java:333)
at build.BeanBuilder.tableToBean(BeanBuilder.java:396)
at build.BeanBuilder.build(BeanBuilder.java:284)
at ui.TableToBeanUI.submitBtnActionPerformed(TableToBeanUI.java:419)
at ui.TableToBeanUI.access$3(TableToBeanUI.java:388)
at ui.TableToBeanUI$3.actionPerformed(TableToBeanUI.java:281)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
这个是什么问题啊,我用的oracle,楼主,急啊~
6 楼 xiexie123 2015-07-06  
java.lang.NullPointerException
at java.lang.String.replace(Unknown Source)
at util.CommonUtils.setExpressionArgs(CommonUtils.java:357)
at util.CommonUtils.setBeanRemark(CommonUtils.java:333)
at build.BeanBuilder.tableToBean(BeanBuilder.java:396)
at build.BeanBuilder.build(BeanBuilder.java:284)
at ui.TableToBeanUI.submitBtnActionPerformed(TableToBeanUI.java:419)
at ui.TableToBeanUI.access$3(TableToBeanUI.java:388)
at ui.TableToBeanUI$3.actionPerformed(TableToBeanUI.java:281)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$400(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
5 楼 vipbooks 2015-07-06  
hcq1986224 写道
为什么不用hibernate tools呢?

hibernate tools生成不了注释,而且配置起来也比较麻烦,也不够灵活,生成好了以后还有很多需要修改,比较浪费时间。而且就生成个Bean还要打开个Eclipse,不觉得这样很麻烦吗,有时候就是只要生成好Bean上传到SVN就可以了,根据不需要打开Eclipse。
4 楼 hcq1986224 2015-07-06  
为什么不用hibernate tools呢?
3 楼 toknowme 2015-07-06  
要是能写个 eclipse的插件 就更加完美了~
2 楼 closer13 2015-07-06  
不错,希望继续开发,生成mybatis hibernate配置文件,dao等等
1 楼 cyberniuniu 2015-07-06  
牛逼~!非常棒!

相关推荐

Global site tag (gtag.js) - Google Analytics