Nama : Lukman reza
NIM : 10018148
“Praktikum 10 OODB”
1.
Source code
a.
LukmanRhezaoodb10.java
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
package lukmanrhezaoobdb10;
import com.db4o.*;
import com.db4o.query.*;
import java.io.File;
/**
*
* @author Praktikan
*/
public class
LukmanRhezaoobdb10 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic
here
InsertData();
Query1();
Query2();
Query5();
Query6();
}
public static void InsertData() {
new
File("Person.yap").delete();
ObjectContainer db =
Db4o.openFile("Person.yap");
Account a1 = new Account(1500, 500);
Person p1 = new
Person("Heinz", 20);
p1.setAccount(a1);
Account a2 = new Account(5000, 1500);
Person p2 = new
Person("Linda", 45);
p2.setAccount(a2);
Person p3 = new
Person("Eric", 22);
Account a3 = new Account(150, 0);
p3.setAccount(a3);
Person p4 = new
Person("James", 42);
Account a4 = new Account(1250, 50);
p4.setAccount(a4);
Person p5 = new
Person("Tony", 35);
Account a5 = new Account(2500, 300);
p5.setAccount(a5);
Person p6 = new
Person("Rossi", 28);
Account a6 = new Account(1500, 500);
p6.setAccount(a6);
db.store(p1);
db.store(p2);
db.store(p3);
db.store(p4);
db.store(p5);
db.store(p6);
db.close();
System.out.println("Data Person
sudah tersimpan");
}
public static void Query1() {
ObjectContainer db =
Db4o.openFile("Person.yap");
ObjectSet persons = db.query(new
Predicate() {
public boolean match(Person
person) {
return true;
}
@Override
public boolean match(Object et) {
throw new
UnsupportedOperationException("Not supported yet."); //To change
body of generated methods, choose Tools | Templates.
}
});
System.out.println("Query 1 :
SELECT * FROM Person;");
System.out.println("Hasil :
" + persons.size());
while (persons.hasNext()) {
System.out.println(persons.next());
}
db.close();
}
public static void Query2() {
ObjectContainer db =
Db4o.openFile("Person.yap");
ObjectSet persons = db.query(new
Predicate() {
public boolean match(Person
person) {
return
person.getName().equals("Linda");
}
@Override
public boolean match(Object et) {
throw new
UnsupportedOperationException("Not supported yet."); //To change
body of generated methods, choose Tools | Templates.
}
});
System.out.println("Query 2 :
SELECT Amount,Credit FROM Person WHERE Name = 'Linda';");
System.out.println("Hasil :
" + persons.size() + " record");
while (persons.hasNext()) {
Person person = (Person)
persons.next();
System.out.println(person.getAccount());
}
db.close();
}
public static void Query5() {
ObjectContainer db =
Db4o.openFile("Person.yap");
ObjectSet persons = db.query(new
Predicate() {
public boolean match(Person
person) {
return person.getAge() >=
40
&& person.getAge() <=
50
&&
person.getAccount().getCredit() > 1000.0;
}
@Override
public boolean match(Object et) {
throw new
UnsupportedOperationException("Not supported yet."); //To change
body of generated methods, choose Tools | Templates.
}
});
System.out.println("Query 5 :
SELECT Name FROM Person WHERE (Age Between 40 AND 50) AND (Credit >
1000);");
System.out.println("Hasil : "
+ persons.size() + " record");
while (persons.hasNext()) {
Person person = (Person)
persons.next();
System.out.println(person.getName());
}
db.close();
}
public static void Query6() {
ObjectContainer db =
Db4o.openFile("Person.yap");
ObjectSet Subpersons = db.query(new
Predicate() {
public boolean match(Person
person) {
return
person.getName().equals("Rossi");
}
@Override
public boolean match(Object et) {
throw new
UnsupportedOperationException("Not supported yet."); //To change
body of generated methods, choose Tools | Templates.
}
});
while (Subpersons.hasNext()) {
final Person persons = (Person)
Subpersons.next();
ObjectSet Objperson =
db.query(new Predicate() {
public boolean match(Person
p) {
return
p.getAccount().getAmount() == persons.getAccount().getAmount()
&&
p.getName() != "Heinz";
}
@Override
public boolean match(Object
et) {
throw new
UnsupportedOperationException("Not supported yet."); //To change
body of generated methods, choose Tools | Templates.
}
});
System.out.println("Query 6
:");
System.out.println("SELECT
Name, Age");
System.out.println("FROM
Person");
System.out.println("WHERE
Not( Name = ‘Heinz’) AND Amount IN (");
System.out.println(" SELECT
Amount");
System.out.println(" FROM
Person");
System.out.println(" WHERE Name =
‘Heinz’);");
System.out.println("Hasil :
" + Objperson.size() + " record");
while (Objperson.hasNext()) {
Person person = (Person)
Objperson.next();
System.out.println(person.getName());
}
}
db.close();
}
}
|
b.
Person.java
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
package lukmanrhezaoobdb10;
/**
*
* @author Praktikan
*/
public class Person {
private Account account;
private String Name;
private int Age;
public Person(String name, int
age){
this.Name = name;
this.Age = age;
this.account=null;
}
public String getName(){
return Name;
}
public int getAge(){
return Age;
}
public void setAccount(Account
account){
this.account = account;
}
public Account getAccount(){
return account;
}
public String toString(){
return
Name+"/"+Age+"/"+account;
}
}
|
c.
Account.java
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
package lukmanrhezaoobdb10;
/**
*
* @author Praktikan
*/
public class Account {
private double Amount;
private double Credit;
public Account(double amount,
double credit){
this.Amount=amount;
this.Credit = credit;
}
public double getAmount(){
return Amount;
}
public double getCredit(){
return Credit;
}
public String toString(){
return
Amount+"/"+Credit;
}
}
|
2.
Screenshoot
Hasil Running
Database dilihat dengan OME
0 Komentar