当前位置:  编程技术>软件工程/软件设计
本页文章导读:
    ▪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文件,文件内容如下:
<?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      
    
最新技术文章:
▪主-主数据库系统架构    ▪java.lang.UnsupportedClassVersionError: Bad version number i...    ▪eclipse项目出现红色叉叉解决方案
▪Play!framework 项目部署到Tomcat    ▪dedecms如何做中英文网站?    ▪Spring Batch Framework– introduction chapter(上)
▪第三章 AOP 基于@AspectJ的AOP    ▪基于插件的服务集成方式    ▪Online Coding开发模式 (通过在线配置实现一个表...
▪观察者模式(Observer)    ▪工厂模式 - 程序实现(java)    ▪几种web并行化编程实现
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法 iis7站长之家
▪利用规则引擎打造轻量级的面向服务编程模式...    ▪google blink的设计计划: Out-of-Progress iframes    ▪FS SIP呼叫的消息线程和状态机线程
▪XML FREESWITCH APPLICATION 实现    ▪Drupal 实战    ▪Blink: Chromium的新渲染引擎
▪(十四)桥接模式详解(都市异能版)    ▪你不知道的Eclipse用法:使用Allocation tracker跟...    ▪Linux内核-进程
▪你不知道的Eclipse用法:使用Metrics 测量复杂度    ▪IT行业为什么没有进度    ▪Exchange Server 2010/2013三种不同的故障转移
▪第二章 IoC Spring自动扫描和管理Bean    ▪CMMI简介    ▪目标检测(Object Detection)原理与实现(六)
▪值班总结(1)——探讨sql语句的执行机制    ▪第二章 IoC Annotation注入    ▪CentOS 6.4下安装Vagrant
▪Java NIO框架Netty1简单发送接受    ▪漫画研发之八:会吃的孩子有奶吃    ▪比较ASP和ASP.NET
▪SPRING中的CONTEXTLOADERLISTENER    ▪在Nginx下对网站进行密码保护    ▪Hibernate从入门到精通(五)一对一单向关联映...
▪.NET领域驱动设计—初尝(三:穿过迷雾走向光...    ▪linux下的块设备驱动(一)    ▪Modem项目工作总结
▪工作流--JBPM简介及开发环境搭建    ▪工作流--JBPM核心服务及表结构    ▪Eclipse:使用JDepend 进行依赖项检查
▪windows下用putty上传文件到远程Linux方法    ▪iBatis和Hibernate的5点区别    ▪基于学习的Indexing算法
▪设计模式11---设计模式之中介者模式(Mediator...    ▪带你走进EJB--JMS编程模型    ▪从抽象谈起(二):观察者模式与回调
▪设计模式09---设计模式之生成器模式(Builder)也...    ▪svn_resin_持续优化中    ▪Bitmap recycle方法与制作Bitmap的内存缓存
▪Hibernate从入门到精通(四)基本映射    ▪设计模式10---设计模式之原型模式(Prototype)    ▪Dreamer 3.0 支持json、xml、文件上传
▪Eclipse:使用PMD预先检测错误    ▪Jspx.net Framework 5.1 发布    ▪从抽象谈起(一):工厂模式与策略模式
▪Eclipse:使用CheckStyle实施编码标准    ▪【论文阅读】《Chain Replication for Supporting High T...    ▪Struts2 Path_路径问题
▪spring 配置文件详解    ▪Struts2第一个工程helloStruts极其基本配置    ▪Python学习入门基础教程(learning Python)--2 Python简...
▪maven springmvc环境配置    ▪基于SCRUM的金融软件开发项目    ▪software quality assurance 常见问题收录
▪Redis集群明细文档    ▪Dreamer 框架 比Struts2 更加灵活    ▪Maven POM入门
▪git 分支篇-----不断更新中    ▪Oracle非主键自增长    ▪php设计模式——UML类图
▪Matlab,Visio等生成的图片的字体嵌入问题解决...    ▪用Darwin和live555实现的直播框架    ▪学习ORM框架—hibernate(二):由hibernate接口谈...
▪(十)装饰器模式详解(与IO不解的情缘)    ▪无锁编程:最简单例子    ▪【虚拟化实战】网络设计之四Teaming
▪OSGi:生命周期层    ▪Javascript/Jquery——简单定时器    ▪java代码 发送GET、POST请求
▪Entity Framework底层操作封装(3)    ▪HttpClient 发送GET、POST请求    ▪使用spring框架,应用启动时,加载数据
▪Linux下Apache网站目录读写权限的设置    ▪单键模式的C++描述    ▪学习ORM框架—hibernate(一):初识hibernate
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3