1、下載EasyDBO項(xiàng)目源碼
?
?????? SVN::http://svn.easyjf.com/repository/easyjf/easydbo/
?
2、?編譯安裝EasyDBO
一般情況下,我們直接下載整個(gè)EasyDBO項(xiàng)目的源代碼,然后在自己的機(jī)器上根據(jù)JDK重新編譯一次。通過(guò)執(zhí)行bin里面的build.bat jar,或者雙擊build.bat,然后選擇jar,即可執(zhí)行EasyDBO的編譯工作。
?如下圖所示:
??
一般情況下,我們直接下載整個(gè)EasyDBO項(xiàng)目的源代碼,然后在自己的機(jī)器上根據(jù)JDK重新編譯一次。通過(guò)執(zhí)行bin里面的build.bat jar,或者雙擊build.bat,然后選擇jar,即可執(zhí)行EasyDBO的編譯工作。
?如下圖所示:
??
? 編譯完成后,若輸入的是jar命令。則會(huì)生成一個(gè)release目錄,其中有一個(gè)名為easyjf-dbo-1-0-0.jar的文件,其中后面的數(shù)字表示版本號(hào)。
3、?使用用EasyDBO
要在項(xiàng)目中使用EasyDBO,把easyjf-dbo.jar文件與log4j日志的jar,添加到你項(xiàng)目的類路徑或classpath中即可。
當(dāng)然,由于涉及到數(shù)據(jù)庫(kù)開(kāi)發(fā),還必須保證您所用的數(shù)據(jù)庫(kù)驅(qū)動(dòng)包、連接沲驅(qū)動(dòng)包也需要存放于類路徑上。
下圖是我們使用My SQL數(shù)據(jù),使用apache-dbcp連接池來(lái)處理數(shù)據(jù)庫(kù)的項(xiàng)目中,使用EasyDBO所需要的最少的jar文件。
下面是我們使用EasyDBO的一個(gè)簡(jiǎn)單例子。我們以一個(gè)留言板表Message為例,首先定一個(gè)表示留言板信息的持久層對(duì)象PO,內(nèi)容是一個(gè)簡(jiǎn)單JavaBean,由于我們使用比較簡(jiǎn)單的接口映射方式來(lái)實(shí)現(xiàn)映射關(guān)系,所以這個(gè)Java Bean還實(shí)IObject接口。Message.java的內(nèi)容大致如下:
package example;
import java.util.Date;
import com.easyjf.dbo.IObject;
public class Message implements IObject {
?private int cid;
?private String title;
?private String content;
?private String inputUser;
?private Date inputTime;
?private Boolean publish;
?private Integer status;
?public String getTableName() {
??return "message";
?}
?public String getKeyField() {
??return "cid";
?}
?public String getKeyGenerator() {
??return "com.easyjf.dbo.NullIdGenerator";
?}
?public int getCid() {
??return cid;
?}
?public void setCid(int cid) {
??this.cid = cid;
?}
...省略getter及setter方法。
}
package example;
import java.util.Date;
import com.easyjf.dbo.IObject;
public class Message implements IObject {
?private int cid;
?private String title;
?private String content;
?private String inputUser;
?private Date inputTime;
?private Boolean publish;
?private Integer status;
?public String getTableName() {
??return "message";
?}
?public String getKeyField() {
??return "cid";
?}
?public String getKeyGenerator() {
??return "com.easyjf.dbo.NullIdGenerator";
?}
?public int getCid() {
??return cid;
?}
?public void setCid(int cid) {
??this.cid = cid;
?}
...省略getter及setter方法。
}
然后,我們寫一個(gè)簡(jiǎn)單的演示代碼,看看在程序中如何使用EasyDBO自動(dòng)實(shí)現(xiàn)對(duì)象及關(guān)系表之間的映射。示例代碼如下:
package example;
import org.apache.commons.dbcp.BasicDataSource;
public class MessageTest {
?public static void main(String[] args) {
??//首先準(zhǔn)備一個(gè)數(shù)據(jù)源
??BasicDataSource datasource = new BasicDataSource();
??datasource.setDriverClassName("org.gjt.mm.mysql.Driver");
??datasource.setUrl("jdbc:mysql://127.0.0.1:3306/easyjf");
??datasource.setUsername("root");
??datasource.setPassword("mysql");
??//使用數(shù)據(jù)源創(chuàng)建一個(gè)EasyDBO映射處理引擎EasyJDB對(duì)象
??com.easyjf.dbo.EasyJDB easyjdb=new com.easyjf.dbo.EasyJDB(datasource);
??Message m=new Message();?
??m.setTitle("留言標(biāo)題");
??m.setContent("留言內(nèi)容");
??m.setInputTime(new java.util.Date());
??m.setInputUser("easyjf");
??m.setPublish(Boolean.TRUE);
??m.setStatus(new Integer(0));
??//使用EasyDBO映射處理引擎執(zhí)行相關(guān)的數(shù)據(jù)持久化操作
??boolean ret=easyjdb.add(m);
??if(ret)System.out.println("成功寫入數(shù)據(jù)!");
??//從數(shù)據(jù)庫(kù)中讀取對(duì)象
??java.util.List list=easyjdb.query(Message.class,"1=1");
??Message m2=(Message)list.get(0);
??System.out.println(m2.getTitle());
??System.out.println(m2.getContent());?
?}
}
package example;
import org.apache.commons.dbcp.BasicDataSource;
public class MessageTest {
?public static void main(String[] args) {
??//首先準(zhǔn)備一個(gè)數(shù)據(jù)源
??BasicDataSource datasource = new BasicDataSource();
??datasource.setDriverClassName("org.gjt.mm.mysql.Driver");
??datasource.setUrl("jdbc:mysql://127.0.0.1:3306/easyjf");
??datasource.setUsername("root");
??datasource.setPassword("mysql");
??//使用數(shù)據(jù)源創(chuàng)建一個(gè)EasyDBO映射處理引擎EasyJDB對(duì)象
??com.easyjf.dbo.EasyJDB easyjdb=new com.easyjf.dbo.EasyJDB(datasource);
??Message m=new Message();?
??m.setTitle("留言標(biāo)題");
??m.setContent("留言內(nèi)容");
??m.setInputTime(new java.util.Date());
??m.setInputUser("easyjf");
??m.setPublish(Boolean.TRUE);
??m.setStatus(new Integer(0));
??//使用EasyDBO映射處理引擎執(zhí)行相關(guān)的數(shù)據(jù)持久化操作
??boolean ret=easyjdb.add(m);
??if(ret)System.out.println("成功寫入數(shù)據(jù)!");
??//從數(shù)據(jù)庫(kù)中讀取對(duì)象
??java.util.List list=easyjdb.query(Message.class,"1=1");
??Message m2=(Message)list.get(0);
??System.out.println(m2.getTitle());
??System.out.println(m2.getContent());?
?}
}
?
輸出結(jié)果:
成功寫入數(shù)據(jù)!
留言標(biāo)題
留言內(nèi)容
成功寫入數(shù)據(jù)!
留言標(biāo)題
留言內(nèi)容
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1328764
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
