数据模式(Schema)定义
Created 星期一 24 十月 2016
模式(Schema) 定义了一个多维数据库 ,它包一个含逻辑模型 ,并定义了逻辑模型到物理模型的映射 。物理模型包含多维数据的存储方式:事实表、维表及其结构等。 逻辑模型包含了用于MDX 查询的结构,如数据立方体、维度、层次、成员、度量等。 Mondrian 使用一个XML 文件来描述模式。 Mondrian 包含一个创建、修改模式文件的Java桌面应用schema-workbench 。
模式文件
Schema 文件可以定义虚拟立方体,基于一个或多个基础立方体来建立。也可以定义角色以及角色的访问权限(对立方体、维度等)。有关虚拟立方体和角色的内容本文档不涉及。 Schema 文件主要结构如下(去掉了VirtualCube 和Role 等): Schema 包含立方体、虚拟立方体、共享维度、角色
Cube 维度和度量的集合,以事实表为中心
Table 事实表
AggName 声明一个聚集表
aggElements 聚集表设置,结构见下
AggPattern 声明一批聚集表
aggElements
Dimension 维度
Hierarchy 维度层次
relation 物理表、视图,结构见下 Closure/ 映射父子层次关系 Level 一个层次
DimensionUsage 引用共享维度 Measure 度量
CalculatedMemberProperty/
CalculatedMember 计算成员 NamedSet 命名集合
Formula/ 公式
UserDefinedFunction/ 声明用户自定义函数
Relation 可以是Table、View、Inline Table、Join: aggElement 可以是以下元素:
AggExclude
AggFactCount
AggIgnoreColumn
AggForeignKey
AggMeasure
AggLevel
示例: personDemo.xml
<Dimension name="部门" foreignKey="USERID" >
<Hierarchy hasAll="true" primaryKey="USERID" allMemberName="所有部门" > <Level name="部门" column="DEPARTMENT" uniqueMembers="true" />
<Measure name="人数" column="USERID" aggregator ="distinct count" />
度量
每个度量都有一个名字,一个事实表的列,一个聚集器(aggregator)。聚集起通常为sum,但count,min,max,avg,distinct-count 都是可以的;
可选的datatype 属性可以是String、Integer、Numeric、Boolean、Date、Time 以及Timestamp,默认是Numeric,除了是count 或distinct-count,,这两个默认是Integer。
可选的formatString 属性指定怎样打印这个值。
度量可以有一个caption(标题)属性以便Member.getCaption()方法返回它而不是返回名字。
度量除了可以来自一个列,也可以使用一条SQL 表达式来计算。 下面Promotion Sales 就是 一个例子:
(case when sales_fact_1997.promotion_id =0 then 0 else sales_fact_1997.store_sales end)
为了一致,度量被视为一个特别的维度的成员 ,这个维度叫做Measures 。
缺省度量
Cube(和VirtualCube)元素允许指定可选的属性defaultMeasure 。 ...
维度,层次
表映射
Dimension 元素有一个foreignKey 属性,它是事实表的列名 ; 而Hierarchy 元素有一个primaryKey 属性 。 如果一个层次有不止一个表,可以使用primaryKeyTable 属性来区分。 Level 的column 定义了它的键,必须是这个层次所在表的列名。如果键是一个表达式,可以使用KeyExpression 元素子元素。 Level 元素的uniqueMembers 属性用于优化SQL 生成。
成员"ALL"
多层次体系 一个维度可以由多个层次组成:uniqueMembers="false"/> uniqueMembers="false"/> 除了它们都连接事实表的同一列"time_id"以外,这些维度层次没有多少共同的地方,它们甚至没有使用同一个表。 把两个层次放到一个维度中的主要原因是,这对终端用户来说有更多意义。终端用户知道如果把"Time"层次放到一个轴上而把"Time Weekly"放到另一个轴上是没有意义的。如果两个层次是同一个维度,MDX 不会允许它们用于同一个查询中。
退化维度
退化维度是这样的一种维度:由于它过于简单而不值得为它创建一个维表。考虑下面的事实表: 产品 时间 支付方式 客户 数量 金额 55 20040106 Credit 123 3 3.54 78 20040106 Cash 89 1 20.00 199 20040107 ATM 3 2 2.99 55 20040106 Cash 122 1 1.18 假设我们为支付方式列的值创建一个维表: payment_method Credit Cash ATM 这个维表没什么意义,它只有三个取值,没有额外的信息 ,并产生了额外的连接开销。你可以创建一个退化维度,只要声明一个维度却不指定表,Mondrian 会认为这些列是来自事实表。 uniqueMembers="true"/> 注意由于没有连接,Dimension 的foreignKey 属性是不必要的,并且Hierarchy 元素没有Table 子元素或primaryKey 属性。
内嵌表
http://mondrian.pentaho.com/documentation/schema.php#Inline_tables InlineTable 构件允许你在模式文件定义一个数据集。你必须要声明列名,列类型(String 或Numeber),以及一个行集。像Table 和View 一样,你必须提供一个唯一别名以引用这个数据集。这里是一个例子(定义了严重性级别维度):1 High |
2 Medium |
3 Low |
这跟你的数据库有一个名为severity 的表以及下面的声明是一样的效果。 Severity 表: id desc 1 High 2 Medium 3 Low
成员属性
成员属性通过Level 内的Property 元素 来定义,例如:
formatter="com.example.MyPropertyFormatter"/> Property 的属性formatter 定义了一个属性格式化器,它修改了成员的 getPropertyFormattedValue()的默认行为。格式化器要实现mondrian.spi.PropertyFormatter接口。 一旦属性在模式中定义了以后,就可以在MDX 语句中使用它,通过member.Properties("属性名")函数。例如: SELECT {[Store Sales]} ON COLUMNS, TopCount(Filter([Store].[Store Name].Members, [Store].CurrentMember.Properties("Store Type") = "Supermarket"), 10, [Store Sales]) ON ROWS FROM [Sales] 先筛选类型为"Supermarket"的商场(Filter 函数),再选出销售额最大的十家(TopCount 函数),把它们放在行上。
计算成员
假设你想创建一个度量,它的值不是来自事实表的列,而是来自一个MDX 公式 有两种方式。 一种方式使用with member 字句,像这样: WITH MEMBER [Measures].[Profit] AS '[Measures].[Store Sales]-[Measures].[Store Cost]', FORMAT_STRING = '$#,###' SELECT {[Measures].[Store Sales], [Measures].[Profit]} ON COLUMNS, {[Product].Children} ON ROWS FROM [Sales] WHERE [Time].[1997]但比起在每个MDX 查询中包含这个子句,更好的办法是,你可以把这个成员定义到模式中, 作为立方体定义的一部分:[Measures].[Store Sales] - [Measures].[Store Cost] 你可以给计算成员指定SOLVE_ORDER 属性,用于确定计算时的优先级:
命名集合
... <NamedSet name="Top Sellers"> TopCount([Warehouse].[Warehouse Name].MEMBERS, 5, [Measures].[Warehouse Sales]) 在MDX 中使用: SELECT {[Measures].[Warehouse Sales]} ON COLUMNS, {[Top Sellers]} ON ROWS FROM [Warehouse] WHERE [Time].[Year].[1997]
星型和雪花型
前面的立方体都是基于一个事实表、事实表上的维度以及连接到事实表的维表构建。这是最普通的映射方式,称为星型模式(Star Schema)。 一个维度可以基于不止一个维表 ,只要这些表能有良好定义的路径连接到事实表。这样定义维度的方式就是一个雪花型模式(Snowflake Schema) 。这些维表通过Join 操作来定义。例如: ...primaryKeyTable="product"> <Join leftKey="product_class_key" rightAlias="product_class" rightKey="product_class_id">
<Join leftKey="product_type_id" rightKey="product_type_id">
上面定义了一个由三个表组成的Product 维度。事实表连接到product(通过外键 product_id),而product 连接到product_class(通过外键product_class_id),而 product_class 连接到product_type(通过外键product_type_id)。我们需要一个Join 元素内嵌套一个Join 元素,因为Join 接收两个操作数。操作数可以是表、连接(Join)甚至查询。 注意这里Join 元素有一个rightAlias 属性。这是必要的,因为Join 的右边组件(嵌套的Join元素)由不止一个表组成。这种情形下leftAlias 属性是不必要的,因为leftKey 来自product表,没有歧义。
共享维度
当一个维度(维表)被多个立方体使用时,可以把它定义为共享维度(shared dimensions),在立方体内引用这个维度即可。因为一个共享维度不属于一个立方体,你必须给它一个明确的表(或其他数据源)。当你在某个立方体中使用它时,指定维度的外键。 ... <DimensionUsage name="Store Type" source="Store Type" foreignKey="store_id"/>
闭包表
http://mondrian.pentaho.com/documentation/schema.php#Closure_tables 举例来说,闭包表(closure table)就是包含所有雇员/主管关系记录(不管深度如何)的SQL 表。
聚集表
http://mondrian.pentaho.com/documentation/schema.php#Aggregate_tables 设想一个CEO要运行一个销售报表,这个报表只包含一个数值:今年所有产品在所有地区的销售总额。为了获得这个数值,Mondrian产生像这样的一条SQL语句: SELECT sum(store_sales) FROM sales_fact, time WHERE sales_fact.time_id = time.time_id AND time.year = 2005 并发送给数据库,而数据库要花好几分钟去执行它。这也容易理解,因为数据库要读取事实表中所有今年的记录(比方说,几百万条销售数据)然后汇总成一个汇总数。很明显,在这里,以及其他类似的时候,所需要的只是一个预先计算的概括性数据:聚集表。聚集表跟基础事实表同时共存,包含着从事实表建立的预先聚集的度量。 它在Mondrian的模式文件中注册 ,因此在一个特定的查询中能应用得上的时候,Mondrian 就能够选择某个聚集表而不是事实表。
Mondrian 有一个工具AggGen (aggregate generator)用于辅助设计和维护聚集表。 它可以生成创建聚集表的SQL 语句 ,它也可以根据一条MDX 语句,给出能够优化这个查询的创建/插入聚集表的SQL 语句。
你可能感兴趣的:(数据)
【企业研发】ELK开发
flyair_China
django python 后端
一、ElasticSearchElasticsearch作为当前最流行的全文检索引擎之一,在众多领域展现出强大的搜索和分析能力。1.1、全文检索与精准检索的差异Elasticsearch提供两种主要的查询方式:全文检索匹配检索(Full-textMatchQuery)和精准匹配检索(ExactMatchQuery),它们在处理查询词和索引数据时有显著区别。1.精准匹配检索(ExactMatchQu
Wireshark的捕获接口设置
没有梦想的程序猿
wireshark 测试工具 网络
通过Wireshark菜单栏的“捕获”-“选项”和工具栏的“捕获选项”按钮,可以进入接口捕获接口的设置。打开捕获接口设置界面,首先设置“Input”标签。进行接口选择,关掉不必要的接口。选择使用接口模式,选择“混杂模式”,即抓取经过的所有数据包,包括发往本网卡和本网卡转发的。“非混杂模式”,表示只抓取目标地址是本网卡的数据包。也可以在本界面设置过滤器。在“输出”标签,进行输出文件的设置。勾选“自动
landsat卫星遥感影像下载、处理教程
一条破秋裤
个人笔记 笔记
1.landsat数据下载USGS网址:EarthExplorer参考链接:USGS下载遥感影像——以Landsat影像下载为例_usgs怎么下载遥感影像-CSDN博客L1TP数据进行了几何校正和辐射校正,L2SP数据在此基础上,进一步处理后的数据,通常包括地表反射率和其他相关的地表特征信息。但是L1和L2的选择需要根据实际需求。这里我们选择下载landsat8-9L1数据目前是可以直接在浏览器下
流量的代价:当“带货神话”撞上法律利剑
数据与人工智能律师
人工智能 云计算 区块链 网络 算法
首席数据官高鹏律师数字经济团队创作AI辅助一、数据洪流中的“信任坍塌”在数字经济的浪潮中,一场场直播带货的狂欢正在重塑商业生态。屏幕前的KOL们,用话术编织出商品的“完美图景”,观众在“限时折扣”“独家首发”的鼓点中按下订单键。然而,当流量红利与法律底线形成对冲,一场关于信任的博弈悄然展开。某平台头部主播曾宣称某保健品可“逆转糖尿病”,结果产品成分仅为普通压片糖果;另一直播间用“癌症克星”“三天见
数据霸权与公共利益的博弈:强制许可制度能否打破数字帝国的城墙
首席数据官高鹏律师数字经济团队创作,AI辅助当数据成为新贵:一场静默的“圈地运动”2025年的某个清晨,某头部电商平台的数据库负责人在晨会上宣布:“我们的用户行为数据集已覆盖8亿活跃用户,这是我们的护城河。”这句话背后,藏着一个被忽视的真相:数据的排他性权利正在催生新的垄断形态——那些掌握海量数据的企业,正悄然构建起数字时代的“封建领地”。数据知识产权的排他性,本意是保护企业对数据的投入与创新,但
【网络安全】对称密码体制
Hacker_xingchen
web安全 安全 网络
1.对称密码体制概述1.1定义与特点对称密码体制,也称为单钥密码体制,是一种加密方法,其中加密和解密过程使用相同的密钥。这种加密方式的主要特点包括简单、高效和计算速度快,适合于大量数据的快速加密和解密。对称密码体制的安全性完全依赖于密钥的保密性,一旦密钥被泄露,加密的安全性就会受到威胁。效率:对称密码算法通常比非对称密码算法要快,因为它们的算法结构相对简单,计算量较小。密钥管理:对称密码体制的密钥
【AI大模型】Spring AI 基于Redis实现对话持久存储详解
小码农叔叔
AI 大模型应用到项目实战高手 springboot 入门到精通项目实战 Spring AI会话存储 Spring AI会话记忆 Spring AI持久化会话 Spring AI会话持久化 Spring AI会话 Spring AI记忆
目录一、前言二、SpringAI会话记忆介绍2.1SpringAI会话记忆概述2.2常用的会话记忆实现方式2.2.1集成数据库持久存储会话实现步骤2.3适用场景三、SpringAI基于内存会话记忆存储3.1本地开发环境准备3.2工程搭建与集成3.2.1添加核心依赖3.3.2添加配置文件3.3.3添加测试接口3.2ChatMemory介绍3.2.1ChatMemory概述3.2.2InMemoryC
SpringBoot-jdbcTemplate访问数据库
xiatianit
springboot spring boot 数据库 java
在实际的企业级应用开发中,却很少有人直接使用原生的JDBCAPI进行开发,这是因为使用JDBCAPI对数据库进行操作十分繁琐,需要我们对每一步都做到“步步把控,处处关心”,例如我们需要手动控制数据库连接的开启,异常处理、事务处理、最后还要手动关闭连接释放资源等等。Spring提供了一个SpringJDBC模块,它对JDBCAPI进行了封装,其的主要目的降低JDBCAPI的使用难度,以一种更直接、更
黑马JVM解析笔记(六):深入理解JVM类加载机制与运行时优化
null不是我干的
JVM jvm 笔记
1.JVM类加载类加载是Java虚拟机将描述类.class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被JVM直接使用的Java类型的过程。核心阶段:加载—>连接—>初始化1.1加载,以jdk1.8为例类加载器先把Person.class字节码解析为InstanceKlass(底层是c++)结构,存放一些关键信息和对象的引用,生命周期与类加载器相同(类卸载时才释放)然后就是把新
学习日记-spring-day37-6.25
永日45670
学习日记 学习 spring java
知识点:1.使用utillist进行配置知识点核心内容重点Spring框架中utl名称空间创建List通过utl名称空间创建并管理集合对象,实现数据复用utllist与普通list赋值的区别;名称空间引入方法无参构造器使用规则当类中没有其他构造器时,默认无参构造器可不写;若有其他构造器则必须显式定义无参构造器构造器覆盖机制;显式定义的必要性XML名称空间引入使用alt+enter自动引入或手动添加
MapReduce概述
Tate小白
大数据学习 mapreduce
1、MapReduce概述1.1MapReduce定义MapReduce是一个分布式运算程序的编程框架,是用户开发“Hadoop的数据分析应用”的核心框架。MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景)。Map负责“分”,即把复杂的任务分解为若干个“简单的任务”来并行处理。可以进行拆分的前提是这些小任务可以并行计算,彼此间几乎没有依赖关系。Reduc
47、文件系统操作与管理
nnn11
C++编程精华:从基础到高级 C++ 文件系统 std::filesystem
文件系统操作与管理1.文件系统的概述文件系统是操作系统中用于组织、管理和存储文件的数据结构。在C++中,文件系统的操作主要依赖于标准库中的头文件,该库提供了丰富的API来处理文件和目录。通过std::filesystem命名空间,开发者可以轻松地进行文件路径解析、目录遍历、文件属性查询等操作,极大地提高了代码的可读性和可维护性。2.库简介C++17引入了库,使得文件系统操作更加简便和高效。std:
【Axum】Rust Web 高效构建:Axum 框架从入门到精通指南
LCG元
前端 rust 前端 开发语言
目录一、环境准备与项目创建1.1安装Rust工具链1.2创建项目并添加依赖二、Axum核心架构解析三、项目结构设计四、核心代码实现4.1应用入口(src/main.rs)4.2数据模型(src/models.rs)4.3路由配置(src/routes.rs)4.4认证服务(src/services/auth.rs)4.5用户处理器(src/handlers.rs)4.6数据访问层(src/repo
基于PaddleOCR的表格识别系统开发
pk_xz123456
仿真模型 深度学习 算法 深度学习 开发语言 分类 安全 cnn
基于PaddleOCR的表格识别系统开发1.项目概述本项目旨在使用PaddleOCR框架开发一个高性能的表格识别系统,能够准确识别约30种不同类型的表格结构。系统将处理2500张合成表格图像作为训练数据,并在合成测试集上进行评估。系统核心功能包括表格检测、表格结构识别和表格内容识别三部分。1.1项目背景表格是信息传递的重要载体,广泛存在于各类文档中。传统表格识别方法需要复杂的规则和模板,而基于深度
spring —— 使用 JDBCTemplate 对数据库操作
张民遇
spring 数据库 spring oracle
在传统方法中,我们一般建立Connection链接,然后通过Statementstm=conn.createStatement()来获取Statement对象,最后用Statement对象操作数据库。在spring中,则是通过com.alibaba的druid配置数据源工具,来配置要连接的数据库,然后将配置好的数据源作为属性传入JDBCTemplate对象当中,最后用JDBCTemplate对象操
【头歌】MapReduce基础实战 答案
Seven_Two2
头歌大数据实验答案 c# 开发语言
本专栏已收集大数据所有答案第1关:成绩统计编程要求使用MapReduce计算班级每个学生的最好成绩,输入文件路径为/user/test/input,请将计算后的结果输出到/user/test/output/目录下。答案:需要先在命令行启动HDFS#命令行start-dfs.sh再在代码文件中写入以下代码#代码文件importjava.io.IOException;importjava.util.S
口罩检测数据集-1591张图片疫情防控管理 智能门禁系统 公共场所安全监控
cver123
数据集 目标跟踪 人工智能 计算机视觉 目标检测 pytorch
口罩检测数据集-1591张图片已发布目标检测数据集合集(持续更新)口罩检测数据集介绍数据集概览包含类别应用场景数据样本展示文件结构与使用建议使用建议技术标签YOLOv8训练实战1.环境配置安装YOLOv8官方库ultralytics2.数据准备2.1数据标注格式(YOLO)2.2文件结构示例2.3创建data.yaml配置文件3.模型训练关键参数补充说明:4.模型验证与测试4.1验证模型性能关键参
基于Java+Vue的数字化人力资源管理系统,高效整合数据,赋能企业人力精细化管理
软件源码专题社区
源码共享 软件工程 java mysql vue 源代码管理
前言:在当今数字化浪潮席卷的时代,企业对于人力资源管理的效率和精准度提出了更高要求。传统的人力资源管理模式已难以满足企业快速发展的需求,繁琐的手工操作、信息传递不及时、数据统计不准确等问题,严重制约了企业人力资源管理的效能。数字化人力资源管理系统的出现,为企业提供了一种全新的解决方案,它借助先进的信息技术,将人力资源管理的各个环节进行整合和优化,实现人力资源管理的自动化、智能化和精细化,从而提升企
2025年AI编程工具推荐
小猴崽
AI编程 AI编程 ai编程
以下基于2025年权威技术报告、开发者社区评测及厂商白皮书,对当前主流AI编程工具进行客观综述与推荐。数据来源包括IDC《2025中国生态告》、信通院《AI辅助编程技术成熟度评》、StackOverflow开发者调查及头部企业实测案例。一、国际主流AI编程工具GitHubCopilotX核心能力:基于GPT-4模型升级,支持37种编程语言(Python/Java/JS等),可解析数万行代码库的全局
【学习】《算法图解》第七章学习笔记:树
程序员
前言在前面的章节中,我们学习了数组、链表、散列表等基本数据结构,以及一些基础算法。本章将介绍一种非常重要的数据结构——树(Tree),特别是二叉搜索树(BinarySearchTree)。树结构在计算机科学中应用广泛,从文件系统到数据库再到人工智能,都能看到树的身影。《算法图解》第七章深入浅出地介绍了树的基本概念、实现和应用,帮助读者理解这一关键数据结构。一、树的基本概念(一)什么是树树是一种分层
Hibernate ORM 映射深度解析
后端
在Java持久层技术体系中,Hibernate作为经典的ORM(对象关系映射)框架,通过自动化对象与数据库表的映射关系,显著提升了数据访问层的开发效率。本文从核心映射机制、高级特性、性能优化及面试高频问题四个维度,结合源码与工程实践,系统解析Hibernate的ORM映射原理与最佳实践。一、核心映射机制1.1基础映射类型映射类型描述示例注解实体映射将Java类映射到数据库表@Entity,@Tab
Deepoc大模型在半导体设计优化与自动化
Deepoch
自动化 运维 人工智能 机器人 单片机 ai 科技
大模型在半导体设计领域的应用已形成多维度技术渗透,其核心价值在于通过数据驱动的方式重构传统设计范式。以下从技术方向、实现路径及行业影响三个层面展开详细分析:参数化建模与动态调优基于物理的深度学习模型(如PINNs)将器件物理方程嵌入神经网络架构,实现工艺参数与电学性能的非线性映射建模。通过强化学习框架(如PPO算法)动态调整掺杂浓度、栅极长度等关键参数,在3nm节点下实现驱动电流提升18%的同时降
如何选择最适合你的云存储方案:对象存储 vs 块存储 vs 文件存储
Clownseven
linux 运维 服务器
更多云服务器知识,尽在hostol.com在现代的云计算环境中,存储方案扮演着至关重要的角色。从初创公司到大型企业,云存储被广泛应用于数据的存储、访问与共享。你可能会问,究竟哪种存储方式最适合你的需求呢?是对象存储、块存储,还是文件存储?每种存储方式都有其独特的优势和劣势,而对于云服务器用户来说,选择合适的存储方案,往往能对性能、成本以及可扩展性等方面产生巨大的影响。让我们来仔细分析一下这三种常见
Redis在企业实战开发中的核心作用:从缓存到分布式系统的关键支柱
LambdaCat
缓存 redis java
在高并发、分布式系统成为主流的今天,Redis已成为企业技术栈中不可或缺的组件。据2024年最新统计,超过82%的互联网企业在生产环境中使用Redis,处理着每秒数十万甚至上百万级的请求在现代软件开发领域,高性能、高并发和可扩展性已成为系统设计的核心要求。面对海量用户和实时数据处理需求,传统数据库在性能方面逐渐显现瓶颈。正是在这样的背景下,Redis(RemoteDictionaryServer)
接口自动化测试(Python+pytest+PyMySQL+Jenkins)
万能程序员-传康Kk
python pytest jenkins
接口自动化测试一个完整的企业级接口自动化测试解决方案目录项目介绍技术架构功能特性项目结构环境要求安装部署使用方法测试用例说明预期结果报告系统配置说明数据库设计Jenkins集成常见问题项目亮点扩展指南联系方式项目介绍项目背景接口自动化测试作为现代软件开发流程的核心环节,已成为保障系统质量、提升交付效率的关键手段。本项目基于Python技术栈,构建了一套完整的接口自动化测试解决方案,旨在为开发团队提
健康医院门诊在线挂号系统
学长代码V
spring boot 后端
基于SSM框架与MySQL数据库实现的健康医院门诊在线挂号系统在当今数字化时代,健康医院门诊在线挂号系统的开发对于提升医院运营效率和患者就医体验至关重要。本文将介绍一个基于SSM框架与MySQL数据库实现的健康医院门诊在线挂号系统,探讨其技术路线和主要功能,并分享相关资源。技术路线该健康医院门诊在线挂号系统采用成熟的SSM(Spring+SpringMVC+MyBatis)框架进行开发。SSM框架
Delphi编程深度详解教程
Paula-柒月拾
本文还有配套的精品资源,点击获取简介:《Delphi详细教程》是一个全面介绍Delphi编程的资源包,涵盖了Delphi开发环境和ObjectPascal编程语言的深入学习。教程内容包括Delphi体系结构、核心类库、集合与RTTI、接口、抽象类、定制组件开发、界面设计、数据控件使用、SQL程序设计以及创建WindowsNT服务等关键知识点,旨在帮助学习者深入理解和掌握Delphi编程,并应用于实
弹幕系统开发实战:QT框架与VS2015源码解析
Paula-柒月拾
本文还有配套的精品资源,点击获取简介:本源码项目融合了三个关键技术领域:弹幕系统设计、Qt框架开发和VisualStudio2015集成。它详细阐述了弹幕系统的核心功能实现,包括弹幕数据结构、渲染、碰撞检测和用户交互。同时,本项目介绍了如何利用Qt5的信号与槽机制、GUI组件和绘图系统来开发弹幕效果,并展示了如何在VisualStudio2015中进行项目管理、编辑、调试和构建。此项目提供了全面的
使用POI导入Excel文件数据处理
生活压力大
Java开发 poi java excel
前言最近项目中做了一个Excel模板导入功能,需要将文件中的数据获取后保存,优于Excel文件中表头多行,数据比较凌乱所以采用了POI进行导入。引入jar包我的是maven项目,所以直接在pom文件中引入相关依赖即可,我使用的jar包为3.16:org.apache.poipoi3.16org.apache
【入门第1课】Splunk安装配置和基础运维
我只会Traceroute
SIEM SIEM Splunk 安全分析
前言Splunk社区,包括白皮书,各类手册,资源下载,社区问答等入门:Splunk入门指南|Splunk手册:Splunk®Enterprise-SplunkDocumentation资源下载:数据可视化工具SplunkEnterprise免费下载|Splunk中文版手册下载:简体中文版手册-SplunkDocumentation1、安装indexer#1rpm安装rpm-isplunk-9.0.
js动画html标签(持续更新中)
843977358
html js 动画 media opacity
1.jQuery 效果 - animate() 方法 改变 "div" 元素的高度: $(".btn1").click(function(){ $("#box").animate({height:"300px
springMVC学习笔记
caoyong
springMVC
1、搭建开发环境
a>、添加jar文件,在ioc所需jar包的基础上添加spring-web.jar,spring-webmvc.jar
b>、在web.xml中配置前端控制器
<servlet>
&nbs
POI中设置Excel单元格格式
107x
poi style 列宽 合并单元格 自动换行
引用:http://apps.hi.baidu.com/share/detail/17249059
POI中可能会用到一些需要设置EXCEL单元格格式的操作小结:
先获取工作薄对象:
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet();
HSSFCellStyle setBorder = wb.
jquery 获取A href 触发js方法的this参数 无效的情况
一炮送你回车库
jquery
html如下:
<td class=\"bord-r-n bord-l-n c-333\">
<a class=\"table-icon edit\" onclick=\"editTrValues(this);\">修改</a>
</td>"
j
md5
3213213333332132
MD5
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MDFive {
public static void main(String[] args) {
String md5Str = "cq
完全卸载干净Oracle11g
sophia天雪
orale数据库 卸载干净 清理注册表
完全卸载干净Oracle11g
A、存在OUI卸载工具的情况下:
第一步:停用所有Oracle相关的已启动的服务;
第二步:找到OUI卸载工具:在“开始”菜单中找到“oracle_OraDb11g_home”文件夹中
&
apache 的access.log 日志文件太大如何解决
darkranger
apache
CustomLog logs/access.log common 此写法导致日志数据一致自增变大。
直接注释上面的语法
#CustomLog logs/access.log common
增加:
CustomLog "|bin/rotatelogs.exe -l logs/access-%Y-%m-d.log 
Hadoop单机模式环境搭建关键步骤
aijuans
分布式
Hadoop环境需要sshd服务一直开启,故,在服务器上需要按照ssh服务,以Ubuntu Linux为例,按照ssh服务如下:
sudo apt-get install ssh
sudo apt-get install rsync
编辑HADOOP_HOME/conf/hadoop-env.sh文件,将JAVA_HOME设置为Java
PL/SQL DEVELOPER 使用的一些技巧
atongyeye
java sql
1 记住密码
这是个有争议的功能,因为记住密码会给带来数据安全的问题。 但假如是开发用的库,密码甚至可以和用户名相同,每次输入密码实在没什么意义,可以考虑让PLSQL Developer记住密码。 位置:Tools菜单--Preferences--Oracle--Logon HIstory--Store with password
2 特殊Copy
在SQL Window
PHP:在对象上动态添加一个新的方法
bardo
方法 动态添加 闭包
有关在一个对象上动态添加方法,如果你来自Ruby语言或您熟悉这门语言,你已经知道它是什么...... Ruby提供给你一种方式来获得一个instancied对象,并给这个对象添加一个额外的方法。
好!不说Ruby了,让我们来谈谈PHP
PHP未提供一个“标准的方式”做这样的事情,这也是没有核心的一部分...
但无论如何,它并没有说我们不能做这样
ThreadLocal与线程安全
bijian1013
java java多线程 threadLocal
首先来看一下线程安全问题产生的两个前提条件:
1.数据共享,多个线程访问同样的数据。
2.共享数据是可变的,多个线程对访问的共享数据作出了修改。
实例:
定义一个共享数据:
public static int a = 0;
Tomcat 架包冲突解决
征客丶
tomcat Web
环境:
Tomcat 7.0.6
win7 x64
错误表象:【我的冲突的架包是:catalina.jar 与 tomcat-catalina-7.0.61.jar 冲突,不知道其他架包冲突时是不是也报这个错误】
严重: End event threw exception
java.lang.NoSuchMethodException: org.apache.catalina.dep
【Scala三】分析Spark源代码总结的Scala语法一
bit1129
scala
Scala语法 1. classOf运算符
Scala中的classOf[T]是一个class对象,等价于Java的T.class,比如classOf[TextInputFormat]等价于TextInputFormat.class
2. 方法默认值
defaultMinPartitions就是一个默认值,类似C++的方法默认值
java 线程池管理机制
BlueSkator
java线程池 管理机制
编辑
Add
Tools
jdk线程池
一、引言
第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。第三:提高线程的可管理性。线程是稀缺资源,如果无限制的创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一的分配,调优和监控。
关于hql中使用本地sql函数的问题(问-答)
BreakingBad
HQL 存储函数
转自于:http://www.iteye.com/problems/23775
问:
我在开发过程中,使用hql进行查询(mysql5)使用到了mysql自带的函数find_in_set()这个函数作为匹配字符串的来讲效率非常好,但是我直接把它写在hql语句里面(from ForumMemberInfo fm,ForumArea fa where find_in_set(fm.userId,f
读《研磨设计模式》-代码笔记-迭代器模式-Iterator
bylijinnan
java 设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
import java.util.Arrays;
import java.util.List;
/**
* Iterator模式提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象内部表示
*
* 个人觉得,为了不暴露该
常用SQL
chenjunt3
oracle sql C++ c C#
--NC建库
CREATE TABLESPACE NNC_DATA01 DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\nnc_data01.dbf' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K ;
CREATE TABLESPA
数学是科学技术的语言
comsci
工作 活动 领域模型
从小学到大学都在学习数学,从小学开始了解数字的概念和背诵九九表到大学学习复变函数和离散数学,看起来好像掌握了这些数学知识,但是在工作中却很少真正用到这些知识,为什么?
最近在研究一种开源软件-CARROT2的源代码的时候,又一次感觉到数学在计算机技术中的不可动摇的基础作用,CARROT2是一种用于自动语言分类(聚类)的工具性软件,用JAVA语言编写,它
Linux系统手动安装rzsz 软件包
daizj
linux sz rz
1、下载软件 rzsz-3.34.tar.gz。登录linux,用命令
wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz下载。
2、解压 tar zxvf rzsz-3.34.tar.gz
3、安装 cd rzsz-3.34 ; make posix 。注意:这个软件安装与常规的GNU软件不
读源码之:ArrayBlockingQueue
dieslrae
java
ArrayBlockingQueue是concurrent包提供的一个线程安全的队列,由一个数组来保存队列元素.通过
takeIndex和
putIndex来分别记录出队列和入队列的下标,以保证在出队列时
不进行元素移动.
//在出队列或者入队列的时候对takeIndex或者putIndex进行累加,如果已经到了数组末尾就又从0开始,保证数
C语言学习九枚举的定义和应用
dcj3sjt126com
c
枚举的定义
# include <stdio.h>
enum WeekDay
{
MonDay, TuesDay, WednesDay, ThursDay, FriDay, SaturDay, SunDay
};
int main(void)
{
//int day; //day定义成int类型不合适
enum WeekDay day = Wedne
Vagrant 三种网络配置详解
dcj3sjt126com
vagrant
Forwarded port
Private network
Public network
Vagrant 中一共有三种网络配置,下面我们将会详解三种网络配置各自优缺点。
端口映射(Forwarded port),顾名思义是指把宿主计算机的端口映射到虚拟机的某一个端口上,访问宿主计算机端口时,请求实际是被转发到虚拟机上指定端口的。Vagrantfile中设定语法为:
c
16.性能优化-完结
frank1234
性能优化
性能调优是一个宏大的工程,需要从宏观架构(比如拆分,冗余,读写分离,集群,缓存等), 软件设计(比如多线程并行化,选择合适的数据结构), 数据库设计层面(合理的表设计,汇总表,索引,分区,拆分,冗余等) 以及微观(软件的配置,SQL语句的编写,操作系统配置等)根据软件的应用场景做综合的考虑和权衡,并经验实际测试验证才能达到最优。
性能水很深, 笔者经验尚浅 ,赶脚也就了解了点皮毛而已,我觉得
Word Search
hcx2013
search
Given a 2D board and a word, find if the word exists in the grid.
The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horizontally or ve
Spring4新特性——Web开发的增强
jinnianshilongnian
spring spring mvc spring4
Spring4新特性——泛型限定式依赖注入
Spring4新特性——核心容器的其他改进
Spring4新特性——Web开发的增强
Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC
Spring4新特性——Groovy Bean定义DSL
Spring4新特性——更好的Java泛型操作API
Spring4新
CentOS安装配置tengine并设置开机启动
liuxingguome
centos
yum install gcc-c++
yum install pcre pcre-devel
yum install zlib zlib-devel
yum install openssl openssl-devel
Ubuntu上可以这样安装
sudo aptitude install libdmalloc-dev libcurl4-opens
第14章 工具函数(上)
onestopweb
函数
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
Xelsius 2008 and SAP BW at a glance
blueoxygen
BO Xelsius
Xelsius提供了丰富多样的数据连接方式,其中为SAP BW专属提供的是BICS。那么Xelsius的各种连接的优缺点比较以及Xelsius是如何直接连接到BEx Query的呢? 以下Wiki文章应该提供了全面的概览。
http://wiki.sdn.sap.com/wiki/display/BOBJ/Xcelsius+2008+and+SAP+NetWeaver+BW+Co
oracle表空间相关
tongsh6
oracle
在oracle数据库中,一个用户对应一个表空间,当表空间不足时,可以采用增加表空间的数据文件容量,也可以增加数据文件,方法有如下几种:
1.给表空间增加数据文件
ALTER TABLESPACE "表空间的名字" ADD DATAFILE
'表空间的数据文件路径' SIZE 50M;
&nb
.Net framework4.0安装失败
yangjuanjava
.net windows
上午的.net framework 4.0,各种失败,查了好多答案,各种不靠谱,最后终于找到答案了
和Windows Update有关系,给目录名重命名一下再次安装,即安装成功了!
下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=17113
方法:
1.运行cmd,输入net stop WuAuServ
2.点击开