JDF代码学习 JDF入门教程 代码配置
JDF入门配置。
本文我们介绍如何配置JDF,然后进行代码生成以及一个简单的demo。
1,第一步,我们去http://sourceforge.net/projects/jdf/ 下载 jdf 和 jdf对应的bean生成工具。
2,第二步,在MYSQL上执行jdf自带的mysql脚本 tables.sql,比如把它导入到库JDF。
这里的脚本包括系统配置表,以及bean生成工具所需的表以及demo的表。
表情况介绍,这里先介绍系统内置表:
ID_CREATE表。类似ORACLE的sequence,存放表名和表主键的值。每次插入记录的时候,通过表名到这里取得ID的值,然后把ID的值加1. 原理同TORQUE。
RELATE_TABLE: 用于存放表的关系,bean生成工具通过这里的表的关系,生成bean。以达到联动保存,联动数据获取的功能。
TABLE_BEAN: 配置表对应的 bean的名称以及这个表所在的数据库的数据源。
SYS_SERVICE_MONITER:记录每个服务接口调用的信息,包括调用耗时,调用频率等,用于监控系统运行状态。
SYS_SQL_MONITER :记录每一条SQL的执行情况,绑定变量,sql,以及sql的耗时,以及查询sql所查询的记录的条数。可以监控JDBC调用情况。
这里有两组测试表,一组是PEROSN的那组,一组是SYS开头的那组。
SYS_OPERATOR 操作员工号表
SYS_OPERATOR_ORG_RELATE 操作员组织关联表
SYS_STAFF 员工表
SYS_ORGANIZE 组织表。
这里的关系是,一个员工,可以有多个操作员工号。 SYS_STAFF 和 SYS_OPERATOR是1对多的关系
一个操作员可能归属多个组织,同样,一个组织可以有多个操作员,所以这里有了SYS_OPERATOR_ORG_RELATE表。
具体的字段描述,JDF入门系列BLOG。将会在下面几篇详细介绍demo
3,第三步,新建个java工程。
然后把distdir目录下面的jdf.jar引用到工程,把distdir的config目录copy到源代码根目录。比如我们的源代码在E:/opensource/workspace/volecity/jdfdemo/src
那么我们就把config目录以及目录文件log4j.properties文件copy到E:/opensource/workspace/volecity/jdfdemo/src
我们建好的目录如下所示。修改config/connect.xml 的数据库连接信息。下面我们要利用bean生成工具生成对应的bean.
4,第四步,修改Bean生成工具连接数据库的连接信息。tools/tool/lib/config/connect.xml文件。
修改连接串连接刚才我们导入的脚本的JDF的数据库。
然后运行 tools/tool/Main.bat 启动代码生成工具。由于代码生成工具是依赖jdf.jar的,所以在启动的时候,会动态的根绝连接connect.xml配置的连接动态的生成连接池代码,并且编译加载到内存,所以tools/tool/lib/tools.jar需要跟系统的jdk的tools.jar一样,如果启动的时候,报连接池代码编译错误,请把系统本地的JDK_HOME/lib/tools.jar复制到tools/tool/lib/覆盖下便可。
5,第五步,生成bean。因为导入的数据库脚本已经配置好了一些bean的信息,包括bean之间的关联关系。
首先我们要设置bean.code.dir 的路径是我们的代码路径,我们刚才的项目的源代码的路径是 E:/opensource/workspace/volecity/jdfdemo/src,那我们就把它配置成
E:/opensource/workspace/volecity/jdfdemo/src
bean.connection.name 的值配置成刚才我们修改的tools/tool/lib/config/connect.xml 的connect的name。
connect.xml片段
<connect name="test1">
<dbType>mysql</dbType>
<driverClassName>com.mysql.jdbc.Driver</driverClassName>
<url>jdbc:mysql://localhost:3306/jdf</url>
<userName>root</userName>
<passWord>admin</passWord>
<initSize>10</initSize>
<maxActive>1000</maxActive>
<maxIdle>100</maxIdle>
</connect>
然后点击"TableBean管理"--"全部生成",工具会根据配置的bean的包的名称以及bean的关联关系,一下子把bean全部生成好。
下图是BEAN之间的关系,你看我们的第一条记录:
说明的意思就是PERSON 表 和PERSN_EMAIL_ADDR的关系是ARRAY。
也就是说是1对N的关系,这里的关联字段是PERSON_ID.
下图是点击全部生成,bean成功生成过后的提示。
下面我们刷新项目,我们可以看到工具生成了一下这么多的bean。
这篇就先介绍到这里,下一篇介绍代码的编写,测试。
现在的JDF的源代码很简单,很清晰,很值得学习,建议大家下载源代码学习学习,现在JDF还不成熟,不是可以项目使用的东西,但是是知识学习的东西。
1,多数据源的支持,不同的bean可以配置支持不同的数据源。
2,程序启动时候,动态编译生成数据连接池,因为配置的数据源个数不同,所以要动态生成连接池。
3,bean的联动读取和保存。
4,服务以及JDBC的proxy监控处理。
5,还有代码生成工具的简单的SWT的学习,同事SWT也依赖于JDF,可以学习JDF的使用。
6,........
JDF代码学习 JDF入门教程 代码配置相关推荐
- 深度学习小白入门教程-基础环境篇
深度学习小白入门教程-基础环境篇 如有图片显示失败,请回小主主页查看~ Anaconda 安装包下载方式一:官网(科学上网比较慢,不推荐) 安装包下载方式二:清华镜像(推荐) 具体安装步骤(跟着箭头来 ...
- caffe linux 教程,Caffe 深度学习入门教程 - 安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN_Linux教程_Linux公社-Linux系统门户网站...
安装配置Ubuntu14.04+CUDA7.5+Caffe+cuDNN 一.版本 Linux系统:Ubuntu 14.04 (64位) 显卡:Nvidia K20c cuda: cuda_7.5.18 ...
- 【CV】Pytorch一小时入门教程-代码详解
目录 一.关键部分代码分解 1.定义网络 2.损失函数(代价函数) 3.更新权值 二.训练完整的分类器 1.数据处理 2. 训练模型(代码详解) CPU训练 GPU训练 CPU版本与GPU版本代码区别 ...
- 菜鸟如何看懂python代码_python菜鸟入门教程
菜鸟入门教程,首先我们要知道最基础的一些知识,只有这样才能快速掌握 首先我们要安装python,下面的链接是如何安装,直接去看. 工具/原料 python 方法/步骤 1 有一步记得要有,环境配置,首 ...
- 图深度学习,入门教程七,残差多层图注意力模型
深度学习还没学完,怎么图深度学习又来了?别怕,这里有份系统教程,可以将0基础的你直接送到图深度学习.还会定期更新哦. 主要是基于图深度学习的入门内容.讲述最基本的基础知识,其中包括深度学习.数学.图神 ...
- html数字拼图游戏,JavaScript_JS写的数字拼图小游戏代码[学习参考],复制代码 代码如下:html - phpStudy...
JS写的数字拼图小游戏代码[学习参考] 复制代码 代码如下: 拼图 td.numTd{ width : 20px ; height : 20px ; } div.numDiv{ width : 100 ...
- 在服务器上进行深度学习的入门教程
1.远程登录 Windows用户推荐使用Xshell 主机那里填上服务器IP,下面填一下端口号,然后点击连接,之后会让你输入用户名密码,输入之后就可以进入啦 2.GPU状态 进入之后可能大家最想关注的 ...
- PyTorch官方教程中文版:PYTORCH之60MIN入门教程代码学习
Pytorch入门 import torch""" 构建非初始化的矩阵 """x = torch.empty(5,3) #print(x)& ...
- Hadoop学习笔记——入门教程(虚拟机安装LinuxHadoop环境搭建配置)
文章目录 一.Hadoop安装配置文档及注意事项 二.Hadoop概述 2.1.Hadoop是什么 2.2.Hadoop的发展历史 2.3.Hadoop三大发行版本 2.3.1 Apache Hado ...
- I3D代码学习笔记(一)——配置环境
文章目录 前言 一.I3D是什么? 二.配置环境详细步骤 1.创建anaconda虚拟环境 2.安装相关依赖库 结果 前言 对视频行为识别感兴趣的同学们欢迎交流~ 当你打开本文后,默认你已经安装了an ...
最新文章
- 超干货 | 在线教育增长实操者案例分享:如何玩转教育增长模型?
- C++——赫夫曼编码-译码器(Huffman Coding)
- VTK:图像方差用法实战
- c理c利用计算机怎么弹,通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的...
- Jmeter+ForEach控制器+BeanShell取样器+BeanShell PostProcessor爬取网站信息储存csv
- 以色列网络安全初创企业Cronus获350万美元A轮融资
- 网站转移服务器,网站转移云服务器
- jQuery EasyUI API 中文文档 - 菜单按钮(MenuButton)
- Linux下修改文件权限
- CodeSmith 基础教程
- one vs all -- 将01分类器用于多类分类问题
- 底层逻辑 MATLAB 的句柄是什么
- 再生核希尔伯特空间(RKHS)和核函数
- linux7.4邮件服务器,CentOS7 基于Postfix Dovecot Extmail 搭建邮件服务器
- 金融安全视角农民投资理财的实证研究——以X县为例
- Centos校准时间
- 情感分析textblob--英文分析
- 小红书java算法难吗_Java面试系列之记一次小红书之旅
- Apriltag编解码系统
- 回归本心,即证菩提!