bboss持久層快速入門教程,快速搭建bboss持久層的開發環境,並編寫一個簡單的實例,實例中涉及如下功能點:java
動態啓動數據源(基於apache dbcp2鏈接池組件)git
作一個簡單的增刪改查操做例子github
持久層環境搭建sql
首先搭建持久層demo開發環境,經過svn下載持久層eclipse開發工程:數據庫
https://github.com/bbossgroups/bestpractice/trunk/persistent apache
下載完畢後導入eclipse便可:oracle
啓動一個名稱叫test的oracle數據源:eclipse
SQLUtil.startPool("test",//數據源名稱 "oracle.jdbc.driver.OracleDriver",//oracle驅動 "jdbc:oracle:thin:@(description=(address_list=(load_balance=off)(failover=on)" + "(address=(protocol=tcp)(host=192.168.1.226)(port=1521))(address=(protocol=tcp)(host=192.168.1.227)(port=1521)))" + "(connect_data=(service_name=PF1)(failover_mode=(type=select)(method=basic)(RETRIES=180)(DELAY=5))))",//oracle rac連接串 "mdm","123456",//數據庫帳號和口令 "select 1 from dual" //數據庫鏈接校驗sql );//初始化數據源
數據源啓動後,接下來就能夠在test數據源上執行相關的操做:
tcp
List<String> data = SQLExecutor.queryListWithDBName(String.class,"test","select MODULE_ID from TB_MODULE_INFO where MODULE_URL like ?","%/CrmAccount/%"); int aid =SQLExecutor.queryObjectWithDBName(int.class, "test","select max(to_number(AUTH_ID)) from TB_MODULE_AUTH"); aid ++; for(String mid:data) { SQLExecutor.insertWithDBName("test", "insert into TB_MODULE_AUTH(AUTH_ID,ADMIN_ID,MODULE_ID) values(?,'23',?)", aid+"",mid); aid = aid+1; } SQLExecutor.insertWithDBName("test", "insert into TB_MODULE_AUTH(AUTH_ID,ADMIN_ID,MODULE_ID) values(?,'23',?)", aid+"","11");
再看一個基於sqlite的數據庫的判斷表不存在並建表的示例:svn
//啓動sqlite數據源gencode SQLUtil.startPool("gencode","org.sqlite.JDBC","jdbc:sqlite://"+dbpath,"root","root", "select 1" ); //判斷數據源gencode中對於的表BBOSS_GENCODE是否存在,不存在則建立 String exist = "select 1 from BBOSS_GENCODE"; try { SQLExecutor.queryObjectWithDBName(int.class,"gencode", exist); } catch (Exception e) { String tsql = "create table BBOSS_GENCODE (ID string,TABLENAME string,DBNAME string,FIELDINFOS TEXT,AUTHOR string," + "COMPANY string," + "CREATETIME number(10)," + "UPDATETIME number(10)," + "CONTROLPARAMS TEXT," + " PRIMARY KEY (ID))"; try { SQLExecutor.updateWithDBName("gencode",tsql); } catch (SQLException e1) { e1.printStackTrace(); } }
完整的測試用例請看工程中的CustomPoolTest.java文件。
備註:執行sqlite測試方法時,須要依賴sqlite驅動sqlite-jdbc-3.8.10.1.jar文件,下載地址:
下載後將這個sqlite-jdbc-3.8.10.1.jar包放入persistent 工程lib目錄,並加入工程classpath便可。
持久層更多使用方法參考文檔: