Travel.java
package com.javaskool;
import org.javalite.activejdbc.Model;
import org.javalite.activejdbc.annotations.Table;
@Table("traveltab")
//@IdName("travelId") //If your table cannot provide a primary key column named id
//(for instance due to corporate naming standards), you can override it with @IdName annotation.
//@DbName("JSActiveJDBCDB")
public class Travel extends Model{
String pnr;
public String getPnr() {
return getString("pnr");
}
}
TestManager.java
package com.javaskool;
import java.util.List;
import org.javalite.activejdbc.Base;
/**
* @author Anuj Verma
*/
public class TestManager {
public static void main(String[] args) {
//class Base will open a new connection and attach it to the current thread.
Base.open("com.mysql.jdbc.Driver", "jdbc:mysql://localhost/JSActiveJDBCDB", "root", "root");
//Inserting Record
Travel t = new Travel(); //connection is looked up from the thread and used by the model
t.set("pnr","BA0123");
t.set("name","James");
t.set("tagent","travelocity");
t.set("phone",1299889988);
t.set("itenerary","CAR");
t.set("time",4);
t.saveIt();
System.out.println("Travel record inserted.. successfully");
//Finding single Record
System.out.println("Finding Travel record .. Wait...");
Travel t1 = (Travel)Travel.findFirst("pnr = ?", "BA0123");
String name=(String)t1.get("name");
String phone=(String)t1.get("phone");
System.out.println("Name : "+name);
System.out.println("Phone : "+phone);
//Modifying single Record
Travel tUpdate = Travel.findFirst("pnr = ?", "BA0123");
tUpdate.set("name", "Bond");
tUpdate.saveIt();
//Finding All Record
System.out.println("Finding All Travel record .. Wait...");
List<Travel> alltrvel = Travel.findAll();
System.out.println("id \t pnr \t name \t tagent \t phone \t itenerary \t time");
for(Travel x:alltrvel)
{
Integer id1=(Integer)x.get("id");
String name1=(String)x.get("name");
String phone1=(String)x.get("phone");
String pnr1=(String)x.get("pnr");
String tagent1=(String)x.get("tagent");
String itenerary1=(String)x.get("itenerary");
Integer time1=(Integer)x.get("time");
System.out.println(id1+" \t "+pnr1+" \t "+name1+" \t "+tagent1+" \t "+phone1+" \t "+itenerary1+" \t "+time1);
}
//e.delete();
//t.delete("id > ?", "10");
//t.deleteAll(); // Travel.deleteAll();
Base.close();
//connection is closed and cleared from thread.
}
}
/*
*
The call Base.open() opens a connection and attaches it to the current thread.
All subsequent methods of all models reuse this connection.
* The call Base.close() closes connection and removes it from the current thread.
*/
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="build" name="010_ActiveJDBCBasic">
<path id="010_ActiveJDBCBasic.classpath">
<pathelement location="D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\bin"/>
<pathelement location="D:/thingstoDO/activeJDBC/jarfile/activejdbc-1.4.6.jar"/>
<pathelement location="D:/thingstoDO/activeJDBC/jarfile/activejdbc-instrumentation-1.4.6.jar"/>
<pathelement location="D:/thingstoDO/activeJDBC/jarfile/javalite-common-1.4.6.jar"/>
<pathelement location="D:/thingstoDO/activeJDBC/jarfile/javassist-3.16.1-GA.jar"/>
<pathelement location="D:/thingstoDO/activeJDBC/jarfile/junit-4.8.2.jar"/>
<pathelement location="D:/thingstoDO/activeJDBC/jarfile/mysql-connector-java-5.0.4.jar"/>
<pathelement location="D:/thingstoDO/activeJDBC/jarfile/slf4j-api-1.6.4.jar"/>
<pathelement location="D:/thingstoDO/activeJDBC/jarfile/slf4j-simple-1.6.4.jar"/>
</path>
<property name="classes" value="D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\bin"/>
<target name="build">
<delete dir="${classes}" failonerror="true"/>
<mkdir dir="${classes}"/>
<delete dir="${dist}" failonerror="true"/>
<mkdir dir="${dist}"/>
</target>
<target name="compile" depends="build">
<javac srcdir="src" destdir="${classes}" debug="on" optimize="off" deprecation="off" includeantruntime="false">
<classpath refid="010_ActiveJDBCBasic.classpath"/>
</javac>
</target>
<target name="instrument" depends="compile">
<java classname="org.javalite.instrumentation.Main">
<sysproperty key="outputDirectory" value="${classes}"/>
<classpath refid="010_ActiveJDBCBasic.classpath"/>
</java>
</target>
<target name="run" depends="instrument">
<java classname="com.javaskool.TestManager" failonerror="true" fork="true">
<jvmarg value="-Dactivejdbc.log"/>
<sysproperty key="outputDirectory" value="${classes}"/>
<classpath refid="010_ActiveJDBCBasic.classpath"/>
</java>
</target>
</project>
Database Script
create database JSActiveJDBCDB;
use JSActiveJDBCDB;
create table travelTab
(
id int primary key auto_increment,
pnr varchar(20),
name varchar(30),
tagent varchar(30),
phone long,
itenerary varchar(20),
time int
);
Console output
Buildfile: D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\build.xml
build:
[delete] Deleting directory D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\bin
[mkdir] Created dir: D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\bin
[delete] Deleting directory D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\${dist}
[mkdir] Created dir: D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\${dist}
compile:
[javac] Compiling 2 source files to D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\bin
instrument:
**************************** START INSTRUMENTATION ****************************
Directory: D:\thingstoDO\workspace4activeJDBC\010_ActiveJDBCBasic\bin
Found model: com.javaskool.Travel
Instrumented class: com.javaskool.Travel in directory: /D:/thingstoDO/workspace4activeJDBC/010_ActiveJDBCBasic/bin/
**************************** END INSTRUMENTATION ****************************
run:
140 [main] INFO org.javalite.activejdbc.ConnectionsAccess - Attaching connection: com.mysql.jdbc.Connection@100200c
140 [main] INFO org.javalite.activejdbc.ConnectionsAccess - Opened connection:com.mysql.jdbc.Connection@100200c named: default on thread: Thread[main,5,main]
156 [main] INFO org.javalite.activejdbc.Configuration - Load models from: file:/D:/thingstoDO/workspace4activeJDBC/010_ActiveJDBCBasic/bin/activejdbc_models.properties
171 [main] INFO org.javalite.activejdbc.Registry - Registered model: class com.javaskool.Travel
Travel record inserted.. successfully
Finding Travel record .. Wait...
187 [main] INFO org.javalite.activejdbc.Registry - Fetched metadata for table: traveltab
281 [main] INFO org.javalite.activejdbc.DB - Query: "INSERT INTO traveltab (itenerary, time, phone, tagent, name, pnr) VALUES (?, ?, ?, ?, ?, ?)", with parameters: <CAR>, <4>, <1299889988>, <travelocity>, <James>, <BA0123>, took: 94 milliseconds
296 [main] INFO org.javalite.activejdbc.LazyList - Query: "SELECT * FROM traveltab WHERE pnr = ? LIMIT 1", with parameters: <BA0123>, took: 15 milliseconds
296 [main] INFO org.javalite.activejdbc.LazyList - Query: "SELECT * FROM traveltab WHERE pnr = ? LIMIT 1", with parameters: <BA0123>, took: 0 milliseconds
343 [main] INFO org.javalite.activejdbc.DB - Query: "UPDATE traveltab SET itenerary= ?, time= ?, phone= ?, tagent= ?, name= ?, pnr= ? where id = ?", with parameters: <CAR>, <4>, <1299889988>, <travelocity>, <Bond>, <BA0123>, <16>, took: 47 milliseconds
343 [main] INFO org.javalite.activejdbc.LazyList - Query: "SELECT * FROM traveltab", took: 0 milliseconds
343 [main] INFO org.javalite.activejdbc.DB - Closed connection: com.mysql.jdbc.Connection@100200c
343 [main] INFO org.javalite.activejdbc.ConnectionsAccess - Detached connection: default
Name : James
Phone : 1299889988
Finding All Travel record .. Wait...
id pnr name tagent phone itenerary time
16 BA0123 Bond travelocity 1299889988 CAR 4
BUILD SUCCESSFUL
Total time: 2 seconds
Click the below Link to download complete Library and Examples
Recent Comments