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 {
& ......
java se:
1.java核心技术(第七版)(很好的入门书籍,有两本)
2.java编程思想(第四版)(我看过第三版,第四版看了一点英文的,觉得这本书还是适合有基础的java学习者巩固基础,也就是说要想打牢基础就看完核心技术看这个~)
3.java jdk实例宝典(这本书里几本包含了所有语法的例程)
4.java se6.0编程指南(厚实 ......
关键字: java抽象类和接口的区别---详细解说
abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进行抽象类定义时对于 ......
java中synchronized用法(zz)
打个比方:一个object就像一个大房子,大门永远打开。房子里有 很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。另外我把所有想调用该对象方法的线程比喻成想进入这房子某个 ......