当前位置: 编程技术>软件工程/软件设计
本页文章导读:
▪Ceph 文件系统源代码分析 - OS module (2) 有了Object, Collection, OMap, transaction, Journal 的基本概念,下面看一下OS模块的代码。
主要的类就是ObjectStore类,其内部有一个重要的transaction类。 JournalingObjectStore继承了ObjectStore的,添加了Jo.........
▪Rational Rose 2007使用小结
1.Rose如何隐藏类的属性和操作?
右击类,选Options-Suppress Attributes/Suppress Operations
2.Rose如何表示类的约束?
在工具箱中选ABC图标(Text Box),输入用大括号括起来的自由文本。
3.Rose如何表.........
▪JadePool应用范例:完善China软件项目架构(二) 四、创建数据库,配置数据库连接
主要完成以下工作:1、创建数据库china;2、配置好数据库连接文件db.xml;3、创建sql文件chin.........
[1]Ceph 文件系统源代码分析 - OS module (2)
来源: 互联网 发布时间: 2013-10-30
有了Object, Collection, OMap, transaction, Journal 的基本概念,下面看一下OS模块的代码。
主要的类就是ObjectStore类,其内部有一个重要的transaction类。 JournalingObjectStore继承了ObjectStore的,添加了Journal的功能。FileStore继承了JournalingObjectStore类,实现了在文件中存储。
另一个模块就是Index,在这里实现了两层index,第一层是用来查找collection,第二层是在collection中查找一个object。 其代码包括IndexManager类
作者:changtao381 发表于2013-3-26 19:24:29 原文链接
阅读:46 评论:0 查看评论
[2]Rational Rose 2007使用小结
来源: 互联网 发布时间: 2013-10-30
1.Rose如何隐藏类的属性和操作?
右击类,选Options-Suppress Attributes/Suppress Operations
2.Rose如何表示类的约束?
在工具箱中选ABC图标(Text Box),输入用大括号括起来的自由文本。
3.Rose如何表示抽象类?
打开类规格窗口。选择Detail页签,复选Abstract
4.Rose中接口的三种表示方法
右击接口,点Options-Steretype Display-None/Label/Decoration/Icon
5.Rose如何表示关联类?
关联类是关联和类的结合,在工具箱中选Association Class,连接类和关联
6.Rose如何表示模板类?
打开类规格窗口,在General页签中的Type下拉框中选择ParameterizeClass
7.Rose如何表示嵌套类?
打开类规格窗口,在Nested 页签中insert一个类,即新建了一个嵌套类的内部类
8.Rose中如何表示不同的依赖?
在依赖的旁边加自由文本,在工具箱中选ABC图标(Text Box),输入用书名号括起来的自由文本。
9.Rose中如何表示类与接口的实现关系?
在工具箱中选Realize,连接类与接口(从类到接口),改变接口的显示方式。
10.Rose中如何表示双向关联?
打开关联规格窗口,在Role A Detail或Role B Detail中取消对Navigable的选取。
11.Rose中如何表示关联的角色名和多重值?
右击关联的一端,点Role name增加角色名;右击关联的一端,点Multiplicity-选取值
12.Rose中如何表示聚合和组合关系?
打开关联规格窗口,在Role A Detail或Role B Detail中只选取Aggregate,即为聚合关系;在Role A Detail或Role B Detail中选取Aggregate和By Value,即为组合关系。
Rose中的组合关系也可以没有箭头,打开关联规格窗口,在Role A Detail或Role B Detail中取消对Navigable的选取
13.Rose中如何表示关联的限定符?
右击关联,点New Key/Qualifier
14.Rose中如何画对象图?
Rose不支持对象图,但可以用协作图表达对象之间的关系
作者:kevingao 发表于2013-3-26 11:40:04 原文链接
阅读:25 评论:0 查看评论
[3]JadePool应用范例:完善China软件项目架构(二)
来源: 互联网 发布时间: 2013-10-30
四、创建数据库,配置数据库连接
主要完成以下工作: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文件,文件内容如下:
(三)、创建建表sql文件china_createTable.sql
在项目源包下的META-INF目录下创建china_createTable.sql文件,文件内容见附件1。
根据我个人的经验,在JDBC编程中,有以下几点仅供参考:
1、每个表尽可能保持唯一的一个主键;
2、非主键字段允许null值,防止插入单个主键字段时出现异常;
3、尽可能选择与现实一致的字段类型,如,日期选择日期型,货币选择BigDecimal型,货币避免选择float、double型;
4、避免设置外键,表间逻辑关系可以在JDBC业务逻辑中实现。
(四)、在软件项目中添加sqljdbc4.jar文件
(五)、在控制台下测试JadePool执行sql文件的方法
在初次创建chian数据库后,该数据库不存在用户表,执行以下类china.test.ExcuteSQLFile后,在SQL Server 2000企业管理器中查看china数据库,发现多了几个用户表,查看sw_lianxirenfenlei表,其中有记录存在,这些记录来自/META-INF/china_createTable.sql文件。
主要完成以下工作: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文件,文件内容如下:
<?xml version="1.0" encoding="GBK"?> <db> <url>jdbc:sqlserver://127.0.0.1\\dbo:1433;databaseName=china</url> <driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver> <user>123</user> <password>123</password> <resource></resource> </db>用户可以参照以上代码填写配置项。更详细的说明参阅:高效JDBC编程工具JadePool快速入门 网址http://blog.csdn.net/wj800/article/details/8640359
(三)、创建建表sql文件china_createTable.sql
在项目源包下的META-INF目录下创建china_createTable.sql文件,文件内容见附件1。
根据我个人的经验,在JDBC编程中,有以下几点仅供参考:
1、每个表尽可能保持唯一的一个主键;
2、非主键字段允许null值,防止插入单个主键字段时出现异常;
3、尽可能选择与现实一致的字段类型,如,日期选择日期型,货币选择BigDecimal型,货币避免选择float、double型;
4、避免设置外键,表间逻辑关系可以在JDBC业务逻辑中实现。
(四)、在软件项目中添加sqljdbc4.jar文件
(五)、在控制台下测试JadePool执行sql文件的方法
在初次创建chian数据库后,该数据库不存在用户表,执行以下类china.test.ExcuteSQLFile后,在SQL Server 2000企业管理器中查看china数据库,发现多了几个用户表,查看sw_lianxirenfenlei表,其中有记录存在,这些记录来自/META-INF/china_createTable.sql文件。
/* * 在控制台下测试JadePool执行sql文件的方法 * 2013-03-27 */ package china.test; import cn.jadepool.sql.Jade; import cn.jadepool.sql.JadeTool; import java.io.IOException; import java.net.URL; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /** * * @author hkm */ public class ExcuteSQLFile { public static void main(String[] args) throws IOException { URL url = ExcuteSQLFile.class.getResource("/META-INF/china_createTable.sql"); Jade j = new Jade(getCon()); j.executeSqlFile(url.getFile()); j.commit(); } /** * sqljdbc4.jar */ public static synchronized Connection getCon() { Connection con = null; String url = "jdbc:sqlserver://127.0.0.1\\dba:1436;databaseName=china"; String userName = "123"; String password = "123"; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); con = DriverManager.getConnection(url, userName, password); } catch (SQLException ex1) { ex1.printStackTrace(); } catch (ClassNotFoundException ex) { ex.printStackTrace(); } return con; } }
图:执行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 8、商务通讯录列表 sw_tongxunlu_liebiao 9、联系方式分类 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, /*三大产业主键*/ economyna
最新技术文章: