博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EasyDBO快速上手(1)
阅读量:4192 次
发布时间:2019-05-26

本文共 2298 字,大约阅读时间需要 7 分钟。

1、下载EasyDBO项目源码
 
  地址:
       SVN::http://svn.easyjf.com/repository/easyjf/easydbo/
 
2、 编译安装EasyDBO
  一般情况下,我们直接下载整个EasyDBO项目的源代码,然后在自己的机器上根据JDK重新编译一次。通过执行bin里面的build.bat jar,或者双击build.bat,然后选择jar,即可执行EasyDBO的编译工作。
 如下图所示:
  

   编译完成后,若输入的是jar命令。则会生成一个release目录,其中有一个名为easyjf-dbo-1-0-0.jar的文件,其中后面的数字表示版本号。
3、 使用用EasyDBO
  要在项目中使用EasyDBO,把easyjf-dbo.jar文件与log4j日志的jar,添加到你项目的类路径或classpath中即可。
  当然,由于涉及到数据库开发,还必须保证您所用的数据库驱动包、连接沲驱动包也需要存放于类路径上。
  下图是我们使用My SQL数据,使用apache-dbcp连接池来处理数据库的项目中,使用EasyDBO所需要的最少的jar文件。
  

  下面是我们使用EasyDBO的一个简单例子。我们以一个留言板表Message为例,首先定一个表示留言板信息的持久层对象PO,内容是一个简单JavaBean,由于我们使用比较简单的接口映射方式来实现映射关系,所以这个Java Bean还实IObject接口。Message.java的内容大致如下:
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方法。
}
  然后,我们写一个简单的演示代码,看看在程序中如何使用EasyDBO自动实现对象及关系表之间的映射。示例代码如下:
package example;
import org.apache.commons.dbcp.BasicDataSource;
public class MessageTest {
 public static void main(String[] args) {
  //首先准备一个数据源
  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");
  //使用数据源创建一个EasyDBO映射处理引擎EasyJDB对象
  com.easyjf.dbo.EasyJDB easyjdb=new com.easyjf.dbo.EasyJDB(datasource);
  Message m=new Message(); 
  m.setTitle("留言标题");
  m.setContent("留言内容");
  m.setInputTime(new java.util.Date());
  m.setInputUser("easyjf");
  m.setPublish(Boolean.TRUE);
  m.setStatus(new Integer(0));
  //使用EasyDBO映射处理引擎执行相关的数据持久化操作
  boolean ret=easyjdb.add(m);
  if(ret)System.out.println("成功写入数据!");
  //从数据库中读取对象
  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()); 
 }
}
 
输出结果:
成功写入数据!
留言标题
留言内容
 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1328764

你可能感兴趣的文章
25年前,互联网大佬在最原始的论坛网上冲浪
查看>>
特斯拉中国向招商银行贷款50亿元 工厂本月开始生产
查看>>
国庆档电影《我和我的祖国》3天票房破10亿
查看>>
订单扣款却又被系统删除?携程回应:酒店系统故障导致
查看>>
淘宝、京东等下架火箭队相关商品,回应:涉及主权问题没有讨价还价余地
查看>>
周黑鸭还能好好做鸭吗?
查看>>
惊现“鬼影”!iPhone 11系列夜景拍照频频翻车
查看>>
唏嘘!一代手机OS退场:没生态、没开发者是失败主因
查看>>
苹果2019款iPad新机曝光:后置浴霸三摄
查看>>
佩奇,是你吗?曝新款AirPods外观酷似吹风机
查看>>
惠普继续大裁员:未来3年计划裁撤7000-9000个岗位
查看>>
在线支付巨头PayPal宣布退出Libra:继续就未来合作方式进行对话
查看>>
心疼吗?被指是“傻X” 罗永浩深夜怒怼网友
查看>>
全球第三大芯片制造商GlobalFoundries透露上市计划 或在2022年
查看>>
谷歌拟收购Firework 火拼短视频应用市场
查看>>
三大运营商5G预约用户数近9百万 5G商用进入倒计时
查看>>
LG显示器新CEO上任不到一个月 裁掉四分之一高管
查看>>
一加7T Pro曝光:10月10日发布
查看>>
再见!HTC手机
查看>>
阿里巴巴数据报告:消费向境内回流 低线城市消费蓬勃
查看>>