惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Proofpoint News Feed
T
The Blog of Author Tim Ferriss
aimingoo的专栏
aimingoo的专栏
M
MIT News - Artificial intelligence
N
Netflix TechBlog - Medium
Y
Y Combinator Blog
B
Blog RSS Feed
H
Help Net Security
Blog — PlanetScale
Blog — PlanetScale
Vercel News
Vercel News
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
L
LangChain Blog
IT之家
IT之家
F
Fortinet All Blogs
V
V2EX
C
Check Point Blog
The Cloudflare Blog
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans

博客园 - 张谊

[转]ubuntu下 手动安装 LAMP 和 JAVA环境 [转]ViewState的使用 [转]Working with user roles and permissions in SharePoint Object Model [原]SharePoint文档库上传文档 [原]SharePoint列表与文档库EventHandeler [转]ASP.NET缓存概念及其应用浅析 window.showModalDialog以及window.open用法简介 [原]欢迎加入QQ群 [原]如何在Silverlight中使用WebService绑定DataGrid [转]Silverlight中调用远程Web Service的权限问题 [转]BeanUtils接口和类 [原]Commons- BeanUtils学习笔记 [转]Apache+Tomcat负载均衡及Session绑定的实现 [原]关于支付宝API开发的一点心得 [原]Oracle中列自增的方法 [原]Java反射示例 [原]JavaSocket实现广播聊天室 [转]翻译 一些很酷的.Net技巧 《生命如一泓清水》
[原]基于Caché多维数据库的SSH实现
张谊 · 2009-04-15 · via 博客园 - 张谊

花了接近两周的时间了解学习InterSystems的Caché多维数据库,总算有点眉目了,不过我还是对Caché数据库提供的原生态语言Caché ObjectScript 不太愿意使用,我实在觉得使用这个语言来开发确实太别扭,Caché ObjectScript 虽然是一种强大而且易用的面向对象语言,并且有非常灵活的数据结构,但是我确实还是想用Java来实现,现将开发心得总结如下:
1,首先得搭建J2EE开发环境,包括Struts,Spring,Hibernate,方式同一般的J2EE项目。
2,创建NameSpace(Caché 数据库安装完毕)。
3,运行Caché Studio,创建Caché Class Definition。
代码如下:

Cache Object Script
Class Company.User Extends (%Persistent, %XML.Adaptor)
{
Property id As 
%Integer[Required];
Property username As 
%String(MAXLEN=20)[Required];
Property password As 
%String(MAXLEN=20)[Required];
}


在Output窗口看到"Successful" ,即可。
4,创建Java实体类:

package com.cache.domain;/**
@author :zhangyi Apr 11, 2009 10:36:25 PM setpsw@gmail.com
*/
/*
* author:tony.zhang CacheDB IMPORTANT NOTICE!
* If you want to use InterSystem CacheDB,you MUST see the follow notice:
* 1.Install Cache;
* 2.Select "System Manage Portal" to create a new namespace;
* 3.Select "Studio" and change the namespace when you at second step to created it;
* 4.Create a new "Cache Class Definition";
* 5.Create some new property,this property will be persisted on your disk,this is datatable column;
* 6.Debug it,if you see "Successful Complete",Done!
*/
public class User {private Integer id;private String username;private String password;
……
}


5,创建对应的映射文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.cache.domain">
    
<!--
    author:tony.zhang
    table="Company.user"<->table="Package.Class"
    
-->
    
<class name="User" table="Company.user">
        
<id name="id" column="id" unsaved-value="null">
            
<generator class="native"></generator>
        
</id>
        
<property name="username" column="username">
        
</property>
        
<property name="password" column="password">
        
</property>
    
</class>
</hibernate-mapping>


6,数据库连接的Properties:

#------------------
#This is jdbc.properties file include Oracle,MySql,Cache Properties
#Create by Tony.Zhang Apr.
11.2009
#
------------------
#Oracle Properties
#jdbc.driverClassName
=oracle.jdbc.driver.OracleDriver
#jdbc.url
=jdbc:oracle:thin:@localhost:1521:ORCL
#jdbc.username
=scott
#jdbc.password
=tiger

#MySql Properties
#jdbc.driverClassName

=com.mysql.jdbc.Driver
#jdbc.url
=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8
#jdbc.username=root
#jdbc.password
=zhangyi

#Cache Properties
jdbc.driverClassName

=com.intersys.jdbc.CacheDriver
jdbc.url
=jdbc:Cache://localhost:1972/ZHANGYI
jdbc.username=_System
jdbc.password
=SYS

以上是开发Caché的基础部分,剩下的我正在写CRUD的操作,写完了我放代码出来,未完待续。。。