📄 test.java
字号:
package lee;
import java.util.List;
import java.util.Iterator;
import javax.sql.DataSource;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import java.util.*;
import java.sql.*;
import org.springframework.jdbc.object.StoredProcedure;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.core.SqlOutParameter;
import oracle.jdbc.OracleTypes;
import org.springframework.jdbc.core.RowCallbackHandler;
/**
* @author yeeku.H.lee kongyeeku@163.com
* @version 1.0
* Copyright (C), 2005-2008, yeeku.H.Lee
* This program is protected by copyright laws.
* Program Name:
* Date:
*/
public class Test
{
public static void main(String[] args)throws Exception
{
ComboPooledDataSource ds = new ComboPooledDataSource();
ds.setDriverClass("oracle.jdbc.driver.OracleDriver");
ds.setJdbcUrl("jdbc:oracle:thin:@localhost:1521:ora9i");
ds.setUser("scott");
ds.setPassword("tiger");
ds.setMaxPoolSize(40);
ds.setMinPoolSize(2);
ds.setMaxStatements(180);
MyStoredProcedure pmq = new MyStoredProcedure(ds);
Map m = pmq.execute();
List l = (List)m.get("personList");
for (Iterator it = l.iterator();it.hasNext() ; )
{
System.out.println(it.next());
}
}
}
class MyStoredProcedure extends StoredProcedure
{
public MyStoredProcedure(DataSource ds)
{
setDataSource(ds);
setFunction(false);
setSql("GETDEPT_PRO");
declareParameter(new SqlParameter("deptno" , Types.INTEGER));
declareParameter(new SqlOutParameter("personList" , OracleTypes.CURSOR , new RowMapper()
{
public Object mapRow(ResultSet rs, int rowNum)throws SQLException
{
Person p = new Person();
p.setName(rs.getString(2));
p.setAge(rs.getInt(1));
return p;
}
}));
compile();
}
public Map execute()
{
Map in = new HashMap();
in.put("deptno",new Integer(4));
Map out = execute(in);
return out;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -