@BeforeClass
public static void setUpBeforeClass() throws Exception {
session = Jorm.getSession();
}
@AfterClass
public static void destroyAfterClass() {
Jorm.free();
}
@Test
public void save_user() {
session.clean(User.class);
User user = null;
for (int i = 0; i < 1600; i++) {
String sex = (i % 2 == 0 "男" : "女");
user = new User(Strings.fixed(5), sex, Numbers.random(98), Strings.random(8));
session.save(user);
}
}
@Test
public void oracle_load_two_cursor() {
save_user();
final String pro = "{call pro_query_users( , , )}";
final List
final List
session.call(new ProcedureCaller() {
public CallableStatement prepare() throws SQLException {
CallableStatement cs = this.getSession().getConnection().prepareCall(pro);
cs.setInt(1, 20);
cs.registerOutParameter(2,oracle.jdbc.OracleTypes.CURSOR);
cs.registerOutParameter(3,oracle.jdbc.OracleTypes.CURSOR);
return cs;
}
public String callback(CallableStatement cs) throws SQLException {
cs.execute();
ResultSet rsOne = (ResultSet) cs.getObject(2);//返回第一个游标
ResultSet rsTwo = (ResultSet) cs.getObject(3);//返回第二个游标
while(rsOne != null && rsOne.next()) {
gtIdUsers.add(session.getPersister().toBean(rsOne, User.class));
}
while(rsTwo != null && rsTwo.next()) {
likeNameUsers.add(session.getPersister().toBean(rsTwo, User.class));
}
return null;
}
});
Assert.assertTrue(gtIdUsers.size() > 0);
System.out.println(gtIdUsers.size() + " => " + gtIdUsers);
Assert.assertTrue(likeNameUsers.size() > 0);
System.out.println(likeNameUsers.size() + " => " + likeNameUsers);
}
}
作者“风故故,也依依”