-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
51 lines (36 loc) · 1.55 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<h1>ionframework - System Framework(specially db and parser etc...)</h1>
<h2>Quick start</h2>
<p>View TestCode in sample/, test/</p>
DBManager dbm = new OracleDBManager("jdbc:oracle:thin:@hostaddress:1521:devTest", "bleu", "redf");
IDBController dc = new DBController(dbm);
dc.changeServant(new StdOutServant());
dc.initSelf();
Rows rows = dc.getRows("SELECT CONCAT('notice',no) id, no FROM zetyx_board_notice Group by no");
dc.destroySelf();
for more example, http://bleujin.tistory.com/153, but that is korean page
<p>sample test code. confirm sample/net/ion/framework/db/DBSampleAllTest.java</p>
<pre><code>
String query1 = "select * from copy_sample order by no1" ;
public void testDefaultLimit() throws Exception {
dc.setLimitedRows(20) ;
IUserCommand cmd = dc.createUserCommand(query1) ;
Rows rows = cmd.execQuery() ;
assertEquals(20, rows.getRowCount()) ;
rows.absolute(20) ;
assertEquals(20, rows.getInt("no2")) ;
}
</code></pre>
<p>if necessary, you can used that multi-procedure handled with exception(CompletableFuture Pattern)</p>
<pre><code>
AsyncDBController async = dc.async();
String returned = async.execute(ajob -> {
ajob.createUserProcedure("emp@insert(?,?)").addParam(20).addParam("hero").execUpdate() ;
ajob.createUserProcedure("emp@select").execQuery().debugPrint();
if (true) throw new IllegalStateException("expected") ;
return "not expected" ;
}).exceptionally(ex -> {
return "exception" ;
}).get() ;
assertEquals("exception", returned);
dc.createUserProcedure("emp@select").execQuery().debugPrint();
</code></pre>