JadePool应用范例:完善China软件项目架构(二)
四、创建数据库,配置数据库连接
主要完成以下工作:1、创建数据库china;2、配置好数据库连接文件db.xml;3、创建sql文件china_createTable.sql;4、在软件项目中添加sqljdbc4.jar文件;5、在控制台下测试JadePool执行/META-INF/china_createTable.sql文件的方法,完成创建数据库表的工作。
(一)、创建数据库china
本范例使用SQL Server 2000数据库。在SQL Server 2000中创建数据库china,并为china数据库创建一个用户名和密码。本范例配置的用户名和密码均为123。
(二)、配置数据库连接文件db.xml
在项目源包下的META-INF目录下创建db.xml文件,文件内容如下:
图:执行j.executeSqlFile(url.getFile());的结果
附件1:china_createTable.sql文件的内容
/*软件项目:China版 本:1.0数 据 库:MS SQL Server2000创建日期:2013-03-26作 者:胡开明数据库表:包括以下 1、行政区划 cn_address 2、名族 cn_people 3、产品分类 cn_productcategory 4、行业分类 cn_economycategory 5、行业门类 cn_economyfield 6、三次产业 cn_economy 7、商务通讯录 sw_tongxunlu 8、联系人分类 sw_lianxirenfenlei 9、商务通讯录列表 sw_tongxunlu_liebiao 10、联系方式分类 sw_lianxifangshi */if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cn_address]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table cn_address( /*行政区划主表 */addresscode varchar(16) primary key, /*行政区划编码,主键,根据国家统计局提供的资料录入*/addressname varchar(50), /*行政区划标准名称, 根据国家统计局提供的资料录入*/labelcn varchar(32), /*中文地名*/labelen varchar(32), /*英语地名*/longitude float, /*经度*/latitude float, /*纬度*/zip varchar(8), /*邮政编码,是国际通行的作法,故可作为共同部分的字段*/memo text, /*备注*/isusing bit default '1' /*是否使用*/ );if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cn_people]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table cn_people( /*民族表 */people_id int primary key, /*民族表,主键*/minzu varchar(16), /*民族*/pinxie varchar(16), /*罗马字母拼写法*/zimu varchar(8) /*字母代码*/ );if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cn_productcategory]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table cn_productcategory( /*产品分类主表 */productcode varchar(16) primary key, /*产品分类编码,主键,根据国家统计局提供的资料录入*/productname varchar(200), /*产品分类标准名称, 根据国家统计局提供的资料录入*/memo text,isusing bit default '0' /*是否使用*/ );--以下三个表,根据国民经济行业分类(GB/T 4754—2011)设计if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cn_economycategory]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table cn_economycategory( /*行业分类表 根据国家统计局提供的资料录入*/economycode varchar(16) primary key, /*行业分类编码,主键,对应大类*/economyname varchar(400), /*行业分类标准名称, 对应名称*/economyfield varchar(4), /*行业分类编码,主键,对应门类(领域) 单个大字母表示,如:A*/economy varchar(24), /*行业分类标准名称, 对应三次产业*/isusing bit default '0' /*是否使用*/ );if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cn_economyfield]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table cn_economyfield( /*行业门类【经济领域】表 根据国家统计局提供的资料录入*/economyfield varchar(4) primary key, /*行业门类【经济领域】主键,对应门类(领域) 单个大字母表示,如:A*/economyname varchar(400), /*行业门类【经济领域】标准名称, 对应名称*/economy varchar(24) /*所属三大产业*/ );if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[cn_economy]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table cn_economy( /*三大产业表 根据国家统计局提供的资料录入*/economy varchar(24) primary key, /*三大产业主键*/economyname varchar(400) /*三大产业, 对应名称、解释*/ );if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sw_tongxunlu]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table sw_tongxunlu( /*通讯录*/tongxunlu_id bigint primary key, /*通讯录主键*/lianxiren varchar(80) , /*联系人,单位或个人*/fenlei varchar(16), /*分类,如:供应商、客户、快递、维修、服务*/ziliao text /*相关资料*/ );if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sw_lianxirenfenlei]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table sw_lianxirenfenlei( /*联系人分类*/lianxiren_fenlei_id int primary key, /*联系人分类主键*/fenlei varchar(16) /*分类,如:供应商、客户、快递、维修、服务*/);delete from sw_lianxirenfenlei;insert into sw_lianxirenfenlei values(0,'供应商');insert into sw_lianxirenfenlei values(1,'客户');insert into sw_lianxirenfenlei values(2,'货运');insert into sw_lianxirenfenlei values(3,'快递');insert into sw_lianxirenfenlei values(4,'维修');insert into sw_lianxirenfenlei values(5,'服务');insert into sw_lianxirenfenlei values(100,'政府部门');if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sw_tongxunlu_liebiao]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table sw_tongxunlu_liebiao( /*通讯录列表*/tongxunlu_liebiao_id bigint primary key, /*通讯录列表主键*/tongxunlu_id bigint, /*通讯录主键*/fangshi varchar(16) , /*联系方式,如:地址、QQ、电话、传真、手机等等*/tel varchar(80) /*地址或号码,如:*/ );if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sw_lianxifangshi]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)create table sw_lianxifangshi( /*商务通讯录联系方式*/lianxifangshi_id int primary key, /*联系方式分类主键*/fangshi varchar(16) /*联系方式,如:地址、QQ、电话、传真、手机等等*/);delete from sw_lianxifangshi;insert into sw_lianxifangshi values(0,'单位');insert into sw_lianxifangshi values(1,'地址');insert into sw_lianxifangshi values(2,'电话');insert into sw_lianxifangshi values(3,'传真');insert into sw_lianxifangshi values(4,'手机');insert into sw_lianxifangshi values(5,'QQ');insert into sw_lianxifangshi values(6,'电子信箱');insert into sw_lianxifangshi values(7,'信箱');