JAVA存储过程和调用
代码内容
create or replace procedure batchUpdateCustomer(p_age in number) as
begin
update CUSTOMERS set AGE=AGE+1 where AGE>p_age;
end;
以上存储过程有一个参数p_age,代表客户的年龄,应用程序可按照以下方式调用存储过程:
代码内容
tx = session.beginTransaction();
Connection con=session.connection();
String procedure = "{call batchUpdateCustomer(?) }";
CallableStatement cstmt = con.prepareCall(procedure);
cstmt.setInt(1,0); //把年龄参数设为0
cstmt.executeUpdate();
tx.commit();
create or replace produre batchUpdateStudent(a in number) as
begin
update STUDENT set AGE=AGE+1 where AGE>a;
end;
调用代码如下:
Transaction tx=session.beginSession();
Connection conn=session.connection();
String pd=”...{call batchUpdateStudent(?)}”;
CallableStatement cstmt=conn.PrepareCall(pd);
cstmt.setInt(1,20); //把年龄这个参数设为20
tx.commit();
相关文档:
Java的回调方法不像c那样可以直接传递一个方法,java传递的是引用,所以java对方法回调的解决办法是直接传递一个接口,对接口进行实现。下面是一个例子
首先定义一个接口Car,有一个run的方法声明
Java代码
package ocm.callback;
public interface Car {
& ......
你的SQL Server 2000必须打上SP3的补,然后安装Microsoft的JDBC驱动,将以下三个jar包复制到WebContent\WEB-INF\lib
msbase.jar
mssqlserver.jar
msutil.jar
下面是测试代码,没有报错数据库就能正常连接
public class DbcTest {
/**
* @param args
*/
public static void main(String[] args) {
Str ......
1、作用域public,private,protected,以及不写时的区别
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
不写时默认为friendly √ √ × ×
private √ × × ×
2、ArrayList和Vect ......
文章一
文章二
文章三
原文
J2ME开发优化
1、猜测Vector的长度
2、使用局部变量
3、避免字符串比较
4、将变量和方法声明为final和static,以加快访问
5、使用惰性实例化
6、处理outofmemoryError错误
7、使用数组而不是对象
8、倒计至零的迭代循环,因为和零比较将会较快
9、把引用设置为NULL
10、最大限度的 ......
Java性能优化技巧集锦
一、通用篇
1.1 不用new关键词创建类的实例
1.2 使用非阻塞I/O
1.3 慎用异常
1.4 不要重复初始化变量
1.5 尽量指定类的final修饰符
1.6 尽量使用局部变量
1.7
乘法和除法
二、J2EE篇
2.1 使用缓冲标记
2.2 始终通过会话Bean访问实体Bea ......