IReport是透過SQL進行資料的取得,所以很多邏輯都需要靠SQL來進行,有時候只是要進行一個資料的對應大部分都是透過join table進行,或是需要另一資料來源時就需要特別客製化應用程式等等,假如IReport可以呼叫Java程式那就非常之完美了,舉個例子說
原本在IReport中的SQL為
select a.name,b.className,c.countryName,a.telephone from student a ,class b,country c where a.id = b.id and a.id=c.id
若是b 跟 c不再同一個資料來源怎麼辦?
步驟
1.寫一隻Java程式可以連到其他資料來源,並把它包成jar檔案
2.將該jar檔案放在IReport的lib下
3.透過SQL去呼叫如
select name,test.ClassUtils.getClassName(id),test.CountryUtils.getCountry(countryId),test.TranUtils.translate(telephone) from student
這樣就可以了若是在搭配scriptlet方式進行那就真的很Power.
P.S 應用程式使用時也只要把jar放在classpath也可以喔~~
留言
張貼留言