专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
OSC开源社区  ·  一文彻底讲透GPT架构及推理原理 ·  3 天前  
程序猿  ·  华为,纯血鸿蒙,三分天下有其一 ·  4 天前  
OSC开源社区  ·  马斯克招聘程序员:我不care你的学历,直接 ... ·  6 天前  
待字闺中  ·  AI 编程:如何用好 Lovable ·  2 周前  
待字闺中  ·  AI编程:会让我变笨么? ·  1 周前  
51好读  ›  专栏  ›  OSC开源社区

Webcat:Web 数据库管理工具 | 软件推介

OSC开源社区  · 公众号  · 程序员  · 2017-06-12 08:30

正文


webcat是一个java版的web数据库管理工具,核心功能包括数据库的创建、编辑、sql分析、代码生成、数据备份等。 


目前一期功能已开发完毕,所涉及到的功能我基本都已经测试通过,稳定版本为1.0.0.5。 接下来会继续完善一期功能,部分代码会重构,增加一些使用者提出的功能。 因此在此期间暂时关闭fork,待新版本开发完成并稳定之后再开放。代码会持续更新,敬请关注。


表结构编辑

1、表结构编辑之后将会根据数据库的约束条件和逻辑关系自动生成合适顺序的alter语句执行, 不需要人为控制编辑顺序。

2、新建表支持导入建表脚本,编辑之后再保存。

3、目前的表结构编辑仅支持Mysql语法。



数据库表列表页面


SQL查询页面


代码生成

1、可以在表结构编辑页面对字段进行调整。

2、模板引擎采用ayada,可以采用jsp和jstl语法编写,对空格和换行的处理经过专门优化,真正的所见即所得。

3、支持批量生成。

4、代码生成可支持任意数据库。



代码生成-模板编辑

模板配置支持同时配置任意多个模板,此处可以再次对模板参数进行调整。



直接从 SQL 文件解析生成代码

代码生成支持从sql文件解析表结构,仅支持Mysql语法。



支持本地图形界面生成代码,不需要部署web应用 图形界面请运行gui/startup.bat



运行部署

第一种方式,将release/webcat.war部署到tomcat。也可以使用build.bat自己编译war包并部署到tomcat。


第二种方式,将项目导入到eclipse,编译之后将webapp目录配置到tomcat中.


第三种方式,修改tomcat.bat,将里面tomcat的路径修改为你的tomcat的安装路径,然后将你的tomcat/conf/server.xml覆盖 到项目的conf/server.xml,然后参考原来的conf/server.xml适当修改。最后双击tomcat.bat即可启动项目。


相关依赖


1、视图层采用的是jsp,但不是由容器的jsp引擎执行的,使用ayada模版引擎,参见:

http://git.oschina.net/xuesong123/jsp-jstl-engine.


2、文件管理采用另一个开源项目,参见:

http://git.oschina.net/xuesong123/finder-web


用户控制

webcat集成了finder,用户控制由finder提供,具体请参考 http://git.oschina.net/xuesong123/finder-web 默认的用户名密码: admin 1234 如果你需要更加强大的用户控制,请参考finder自行实现。


数据库

数据库建库脚本在db目录。这个是webcat自己使用的数据库,给定时任务用。 一般情况下用不到数据库。 如果你不想让webcat使用数据库,删除或者重命名WEB-INF/classes/jdbc.properties文件即可。


常见问题

1、中文乱码 请在tomcat的server.xml中配置URIEncoding:


2、'javax.tools.JavaCompiler' not found webcat使用的ayada模版引擎,编译模式要求必须加载tools.jar, 所以在环境变量里面配置%JAVA_HOME%\lib\tools.jar即可。


其他说明

1、sql脚本放在什么地方? sql脚本必须放在WEB-INF/sqls目录。


2、如果我不想把sql脚本放到WEB-INF/sqls目录内怎么办? 在WEB-INF/sqls目录新建任意文件,修改扩展名为.link.sql,例如: mytest.link.sql,在mytest.link.sql文件内写入你的sql脚本的路径即可。


3、我想自己实现用户控制,如何屏蔽掉finder提供的用户控制功能?请在web.xml中的DispatchFilter中配置excludes参数, 排除掉用户控制功能,并删除SessionFilter。 参数值为: 

com.skin.finder.action.LoginAction.execute, com.skin.finder.action.LogoutAction.execute, com.skin.finder.action.SimpleUserAction.add, com.skin.finder.action.SimpleUserAction.save



推荐阅读

大公司利用开源作品申请专利,谁伤了开源软件作者的心?

Web 开发人员必备的安全检查列表

Kotlin 和 Java EE 系列之 —— 使用插件愉快

NGINX 开发指南(Part 3)

倾力推荐,学习 Kotlin 的 20 个实用资源

“放码过来”邀您亮“项”,一不小心就火了!

点击“阅读原文”查看更多精彩内容