开发环境:MyEclipse85+Tomcat65+MySql55配置环境:Struts2+Spring2+Hibernate31
1、首先创建Java-Web Project工程,选择J2EE 50版本
2、配置Struts2
(1)添加Struts2架包:
①commons-logging-104jar
②commons-fileupload-121jar
③freemarker-2313jar
④ognl-2611jar
⑤struts2-core-216jar
⑥xwork-212jar
(2)创建strutsxml文件(注意:一定要在src根目录下)
代码如下:
<xml version="10" encoding="UTF-8">
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 21//EN"
">
在开发分布式应用程序时 可用性与性能是主要考虑事项 但是用数据存储解决这些问题可能会给异构数据存储之间的数据同步带来一些问题 在本文中 Jayanthi Suryanarayana 和 Neil Tunnicliffe 将提供一种解决方案 用 JDBC 和 SyncML 标准来实现通用的数据库数据复制 在设计分布式应用程序时 必须考虑可用性与性能 一般的解决方案是在客户机系统上包含数据存储 通常 由于资源有限 客户机需要一个轻量级数据存储 这种方法为异构数据存储之间的数据同步带来了挑战 这个问题的一种解决方案是采用基于 java 的方法 用 JDBC 和 SyncML 标准进行异构数据库复制 复制概述复制是在两个环境之间复制全部或部分数据库的过程 为了保持一致 对源数据库所做的更改要传播到复制的数据库中 复制可以是单向的 也可以是双向的 双向复制可能更困难一些 因为对任何数据库所做的更改都可能产生不一致的数据 当这些更改在两个数据库之间传播时 需要有一个策略来调解这些差异 以便维护一致性 ID 处理作为复制的基本需求 我们需要惟一地标识将要复制的每个数据单元 对于双向复制 还需要一个能够标识数据库之间对应数据单元的映射方案 根据复制的需求 可以采用各种各样的方案 对于单向复制 主数据库可以要求为数据单元生成 ID 对于双向复制 必须根据应用程序的 ID 生成方案定义映射方案 ID 生成方案与映射方案可以是每个数据库使用的 ID 编号的相互排斥范围 在这个范围内 ID 编号是正好匹配的 更复杂的示例中可能包括 ID 生成服务或者特定于数据库的方案 在这种情况下 必须在数据库之间维护 ID 的映射 变化检测 复制过程中的下一步是找出哪些数据单元已经更改 在关系数据库中 可以用附加字段来记录数据单元的状态和状态变化的时间戳 或者 也可以使用触发器使部分变化检测过程自动化 附加到表上的插入/更新/删除触发器可以检测到对数据单元所做的更改 并在更改日志表中记录这些更改 这样就可以用变更记录表(change log table)确定在任何指定时间上对数据单元所做的更改 复制 复制的目标是产生公共数据集的多个一致的副本 为了实现这个目标 必须交换每个数据库中检测到的更改 并使它们一致 在这里 您面临着一个设计上的挑战 您可以作出如下选择 表示将交换的那些更改的数据格式 传输机制 例如 >
Derby数据库是JAVASE
附带的一个关系型数据库
Apache
Derby是一个完全用java编写的数据库,Derby是一个Open
source的产品,基于Apache
License
20分发。
Apache
Derby非常小巧,核心部分derbyjar只有2M,所以既可以做为单独的数据库服务器使用,也可以内嵌在应用程序中使用。Cognos
8
BI的Content
Store默认就是使用的Derby数据库,可以在Cognos8的安装目录下看到一个叫derby10121的目录,就是内嵌的10121
版本的derby。
主要特点编辑
程序小巧,基础引擎和内嵌的JDBC驱动总共大约2MB。
基于Java、JDBC和SQL标准。
提供内嵌的JDBC驱动,你可把Derby嵌入到基于Java的应用程序中。
支持客户端/服务器模式。
安装、布置和使用简单
import javasqlResultSet; //都是导入一些下面需要用到的类
String ConnStr="jdbc:microsoft:sqlserver://WINJUE:1433;DatabaseName=library";//jdbc连接数据库url
public sqlServer() {
try {
ClassforName(DBDriver)newInstance(); //加载SQLServer驱动程序,DBDriver是你上面的代码;
conn=DriverManagergetConnection(ConnStr,"sa","sa"); //和数据库建立连接,ConnStr里面的://WINJUE:1433;DatabaseName=library 分别是主机地址:端口号;你自己建的数据库(database)
}
catch(SQLException e) { //捕获SQL异常
Systemoutprintln(egetMessage()); //要是出现异常,捕获到后,这句代码会把异常的信息(出错的原因之类的)打印出来。
}
catch(Exception e) { //捕获异常,这个是总的,所以不能和上面的顺序颠倒,先小到大,我连ORACLE和MYSQL,这个我通常不要,只须捕获SQL异常就OL
Systemoutprintln(egetMessage());
}
}
public Connection getConn(){ //获取连接方法
return conn;
}
public void insert(String sql) {//增删改
try {
Statement stm=conncreateStatement(); 调用conn下的方法,创建Statement对象
stmexecuteUpdate(sql);//调用Statement下的方法执行SQL语句
Systemoutprintln(" *** 作成功");
}
catch(Exception e){
Systemoutprintln(egetMessage()); //如上
}
}
public ResultSet query(String sql){ //查询
try{
Statement stm=conncreateStatement(ResultSetTYPE_SCROLL_SENSITIVE,ResultSetCONCUR_UPDATABLE);
rs=stmexecuteQuery(sql); //如上
}
catch(Exception e){
Systemoutprintln(egetMessage());
}
return rs;
}
public static void main(String args[]){
sqlServer conn=new sqlServer(); //创建sqlServer,就是你上面的类,以便调用里面的方法
ResultSet rs=connquery("select from Orders"); //调用query方法,执行SQL语句后,把结果保存到结果集里
//conninsert("delete from BookInfo where BookName =" +"\'悟空传\'");
//conninsert("insert into BookInfo (BookID,BookName,Author,KeyWord) values (14445678,'悟空传','今何在','孙悟空')");
try{
while(rsnext()){ //循环,判断结果集里的记录,一条条往下走,是否还有下一条记录,若是返回真,继续走
Systemoutprint(rsgetString("OrderID"));
//Systemoutprint(rsgetString("U_age"));
}
rsclose() ; //关闭结果集
}
catch (Exception e){
Systemoutprintln(egetMessage());
}
}
}
注:
TYPE_FORWARD_ONLY:缺省类型。只允许向前访问一次,并且不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_INSENSITIVE:允许在列表中向前或向后移动,甚至能进行特定定位,例如移至列表中的第四个记录或从当前位置向后移动两个记录。不会受到其他用户对该数据库所作更改的影响。
TYPE_SCROLL_SENSITIVE:象 TYPE_SCROLL_INSENSITIVE 相同,允许在记录中定位。这种类型受到其他用户所作更改的影响。如果用户在执行完查询之后删除一个记录,那个记录将从 ResultSet 中消失。类似的,对数据值的更改也将反映在 ResultSet 中。
以上就是关于最近在学java,但是一直连接不上derby数据库,请大神帮忙,最好能有详细步骤。全部的内容,包括:最近在学java,但是一直连接不上derby数据库,请大神帮忙,最好能有详细步骤。、DbVisualizer能不能定时读取D盘下的derby数据库文件如何才能实现这个功能呢、MyEclipse8.5怎样配置struts等框架 ,是不是一定要修改web.xml文件,请详细说明每一项步骤等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)