??xml version="1.0" encoding="utf-8" standalone="yes"?>日本视频精品一区,国产专区一区,在线亚洲观看http://www.aygfsteel.com/stevech/category/6704.html襉K町学士关于Java的随便一说而已…?/description>zh-cnThu, 08 Mar 2007 02:41:02 GMTThu, 08 Mar 2007 02:41:02 GMT60对象数据库(ODBMSQ?db4o试用QJava versionQ?/title>http://www.aygfsteel.com/stevech/articles/26610.html襉K町学?/dc:creator>襉K町学?/author>Wed, 04 Jan 2006 14:10:00 GMThttp://www.aygfsteel.com/stevech/articles/26610.htmlhttp://www.aygfsteel.com/stevech/comments/26610.htmlhttp://www.aygfsteel.com/stevech/articles/26610.html#Feedback0http://www.aygfsteel.com/stevech/comments/commentRss/26610.htmlhttp://www.aygfsteel.com/stevech/services/trackbacks/26610.html我觉得我现在中了两种毒:Java和SQL。西谚有云:When you have a hammer,
everything looks like a nail。只要动手写E序Q头脑中不自觉地public
class...其实很多时候一两行短的scripts可以了Q即使像在Windows上,我们也可以写jscript、wsh脚本。而在资料储存
上,关系数据库更是不二法宝。拿C个项目,我马上就要将它分解成各个TableQ我觉得SQL是如此强大和灉|Q以至于一见到O/R映射p得厌Ӟ?
到现在我也没有碰qHibernate?br>呵呵Q抱怨了半天Q与其在O/R映射中苦苦挣扎,不如跛_来看看其它的风景Q比如:ODBMSQ对象数据库Q。学士刚下蝲了db4oq个所谓对象数据库Q试着玩了一下,虽尚不知味之甘苦Q勉得以一Hv斑?br>db4o
目前是Version 5.0Q仅需要一个jar文gQ我用的支持JDK5的那个:db4o-5.0-java5.jar;
你如果用的其它版本的JDKQ有相对应的jar文g。这个jar文g是数据库,可不要想象成JDBC Driver之类的东东,JDBC
Driver是RDBMSQ关pL据库Q才需要的东东Q呵c?br>好了Q闲话不_我们现在试试q个ODBMS。首先,Z个你惌保存的对象,我写了一个非常简单的Student.javaQ?br> public class Student { private String name; private int points;
/** Creates a new instance of Student */ public Student(String name, int points) { this.name = name; this.points = points; }
public String getName() { return name; }
public int getPoints() { return points; }
public void addPoints(int points) { this.points += points; }
public String toString() { return name + "/" + points; } }
public static void retrieveAllStudents(ObjectContainer db) { ObjectSet<Student> result = db.get(Student.class); listResult(result); }
public static void retrieveStudentByName(ObjectContainer db) { Student proto = new Student("Bill Gates", 0); // Note: 0 is default value for int ObjectSet<Student> result = db.get(proto); listResult(result); }
public static void retrieveStudentByPoints(ObjectContainer db) { Student proto = new Student(null, 500); ObjectSet<Student> result = db.get(proto); listResult(result); }
public static void updateStudent(ObjectContainer db) { ObjectSet<Student> result = db.get(new Student("Steve Cheng", 95)); Student found = result.next(); found.addPoints(10); db.set(found); retrieveAllStudents(db); System.out.println("Added 10 points for " + found); }
public static void deleteStudent(ObjectContainer db) { ObjectSet<Student> result = db.get(new Student("Steve Cheng", 0)); Student found = result.next(); db.delete(found); retrieveAllStudents(db); System.out.println("Deleted " + found); }