关于jdbc ,jdo ,hibernate 的一些见解!

zeq258 2005-08-16 07:20:54
jdbc方式:就是当你需要对数据库操作的时候,生成数据库连接,当对数据库操作完了之后,就释放
连接。

例子:

......... //业务逻辑代码

private Connection con;
Statement stmt=con.createStatement;
stmt.execute("select ...........");
.....
.....
stmt.close();
con.close();

......... //业务逻辑代码

可以看出,这段代码确实实现了对数据库的操作,但是对于每一个业务处理逻辑,
都必须生成数据库连接,处理完之后又释放连接。
而且业务处理逻辑和数据库操作混杂在一起,不利于以后系统的维护。



jdo 方式: 他把业务处理逻辑与数据库操作分离开发,而且对于数据库连接也进行了有效的管理



例子:

......... //业务逻辑代码

DatabaseUtil.dosomething(); //通过调用 DatabaseUtil 类的
dosomething 方法,对数据库进行操作,并根据需要返回 相应的内容。

......... //业务逻辑代码



这样,当修改业务逻辑的时候,对持久化操作不会产生影响,反之,一样。而且在
DatabaseUtil 类中,可以对数据库连接进行有效的管理。



hibernate 方式:其实他在原理上和jdo方式是一样的,只不过,jdo 处理,面对的是数据库表。而
hibernate 面对的是对象。
而且hibernate 还具备很多的其他功能。这里就不在累赘。



----------------------------------------
以上属个人见解。希望指点!
...全文
198 6 打赏 收藏 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zeq258 2005-08-17
  • 打赏
  • 举报
回复
自己顶,不能沉底!
zeq258 2005-08-17
  • 打赏
  • 举报
回复
顶!
jFresH_MaN 2005-08-17
  • 打赏
  • 举报
回复
up
youyuanren 2005-08-16
  • 打赏
  • 举报
回复
请问为什么我的界面没变化,下面是代码
public void run(){
while (true) {
cardID = jTextField2.getText().trim();
date = jTextField3.getText().trim();
if (cardID.equals("") || date.equals("")){
try{
Thread.sleep(1000);
}catch(InterruptedException ex){
ex.printStackTrace();
}
continue;
}
else {
String[][] data = getInAndOutRecord(cardID, date);
inAndOutTableModel.setData(data);
jTable1 = new JTable(inAndOutTableModel);
jScrollPane1.getViewport().add(jTable1, null);
try {
Thread.sleep(1000);
}
catch (InterruptedException ex) {
ex.printStackTrace();
}

}

}
}
其中里面的变量都是实例变量,这个run()位于一个JFrame里,JFrame实现了Runnable
navy7148 2005-08-16
  • 打赏
  • 举报
回复
也就是说你在跟数据的进行操作的时候,不用对表和记录操作,而是对类和属性进行操作
miaoguangye 2005-08-16
  • 打赏
  • 举报
回复
hibernate面对的是对象不知如何理解

23,404

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧