基于RMI+XML的简单JDBC代理

原创 2002年01月11日 09:40:00


1. 前提:
一台电脑上有一个收集门卡数据的Access数据库, 要从远端访问必须共享成可读写才能实时读取数据, 而且考虑到不能被其它人读写,
要只对某些人有权限, 在客户端也必须用此用户登录执行. 比较不方便. 所以考虑用xml+rmi来传递数据.
2. 实现
xml 用jdom
实现PrepareStatement, 返回ResultSet,或者Update的数量.
因为建立和关闭连接很浪费时间, 而且本程序不支持Transaction, 所以只采用一个Connection共用.
3. 说明:
  1. steeven.xml.sql定义xml SQL的基本接口和简单实现
  2. steeven.rmi.sql定义RMI实现的connection和Server
  3. gate.server是简单的服务器和客户端
4. todo:
  1. rmi poplicy要完善
  2. 其实xml只是充当数据传递媒介, 不是对外接口, 应该可以用更简单的rowSet实现.(忙了半天, 就当做练习了)
  3. 测试.
5. 声明:
  版权没有, 翻版不揪


steeven@kali.com.cn
qq: 7461522
Jan 08,2002


代码下载请到这里:
http://www.starmate.com.cn/bbs/read.php?bbs=48&id=1048#subject1048


在远程主机上: 运行rmiserver, 然后启动本服务
java -jar -Djava.rmi.server.codebase=file:d:/tmp/gate.jar -Djava.security.policy=file:rmi.policy gate.jar
                                          ~~~~~~~~~~~~~~~
注意:codebase参数需要绝对路径


客户端执行
steeven.gate.server.testClient.java



if u start trace in ODBC, it will be very very slow. close it to speed up.



Type supportted & convertions(JDBC->java.sql.Types):
NULL
Boolean -> bit
byte -> tinyint
short -> small int
int -> integer
long -> bigint
float
double
bigDecimal->numeric
string -> varchar / long vchar
bytes -> varbinary / long varbinary
date
time
timestamp

一个简单的JDBC程序

一:步骤 1,注册驱动;(只需要注册一次) 2,建立连接; 3,创建执行的sql语句; 4,执行语句; 5,处理执行结果; 6,释放资源; 二:示例package cn.ccnu...
  • bbb695480667
  • bbb695480667
  • 2016年04月06日 16:34
  • 1047

基于类的代理

如果目标类没有实现任何接口,那么默认情况下,ProxyFactory会对目标类进行基于类的代理,即使用CGLIB, 假设我们现有一个目标类定义如下: public class Executable {...
  • cwzhsi
  • cwzhsi
  • 2014年11月14日 18:50
  • 661

java 基于接口代理(JDK)和基于类的代理(CGLIB)

JDK基于接口代理 import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import j...
  • lan12334321234
  • lan12334321234
  • 2017年04月11日 10:54
  • 82

最简单的动态代理实例(spring基于接口代理的AOP原理)

JDK的动态代理是基于接口的 package  com.open.aop; public   interface  BusinessInterface  {     public   void  pr...
  • yaohonv
  • yaohonv
  • 2011年07月27日 10:10
  • 1382

AOP实现方式1——经典的基于代理的AOP实现

1.定义接口Perform package com.show; /** * Created by kenneth on 2017/4/6. */ public interface Perfor...
  • csdn_kenneth
  • csdn_kenneth
  • 2017年04月06日 15:24
  • 409

JDBC简单操作Demo

JDBC: Java DataBase Connectivity本文主要介绍曹总基本步骤, 包括链接,增删改查. 详细见注释import java.sql.*; import java.sql.Co...
  • Dextrad_ihacker
  • Dextrad_ihacker
  • 2016年11月19日 22:51
  • 587

JAVA反射技术实现简单的JDBCUtil(ORM)

以前刚学jdbc每次需要从数据库select数据然后赋值给一个javabean都要写大一段代码,今天用反射实现了一个简单的映射: package jdbc; import java.sql.C...
  • snakeMoving
  • snakeMoving
  • 2017年01月10日 23:55
  • 360

JDBC/InvocationHandler动态代理实现数据库连接池、数据源

Java的JDBC编程中,数据库的连接和关闭是十分耗费资源的。当对数据库的访问不是很频繁时,可以在每次访问数据库时建立一个连接,用完之后关闭。但是,对于一个复杂的数据库应用,频繁的建立、关闭连接,会极...
  • u011080472
  • u011080472
  • 2016年08月24日 18:22
  • 1058

jdbc简单的连接和实现基本的增删改更功能

jdbc的定义JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言...
  • lxh5431
  • lxh5431
  • 2016年09月05日 20:35
  • 2125

spring jdbc 及代理模式

spring jdbc 及代理模式   共性问题:          1.服务器启动报错,什么原因?                    *jar包缺少、jar包冲突       ...
  • u010220089
  • u010220089
  • 2016年03月15日 14:03
  • 398
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于RMI+XML的简单JDBC代理
举报原因:
原因补充:

(最多只允许输入30个字)