Java tutorial
/** * Copyright 2015 Santhosh Kumar Tekuri * * The JLibs authors license this file to you under the Apache License, * version 2.0 (the "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. */ package jlibs.examples.jdbc; import jlibs.jdbc.DAO; import jlibs.jdbc.JDBC; import jlibs.jdbc.Transaction; import org.apache.commons.dbcp.BasicDataSource; import java.sql.Connection; import java.sql.SQLException; import java.util.List; /** * @author Santhosh Kumar T */ public class DB { public static final JDBC JDBC; public static final EmployeeDAO EMPLOYEES; static { BasicDataSource ds = new BasicDataSource(); ds.setUrl("jdbc:hsqldb:file:examples/db/demo"); JDBC = new JDBC(ds, null); EMPLOYEES = (EmployeeDAO) DAO.create(Employee.class, JDBC); } public static void main(String[] args) throws Exception { try { assert false; throw new RuntimeException("assertions are not enabled"); } catch (AssertionError ignore) { // ignore } EMPLOYEES.delete(); assert EMPLOYEES.all().size() == 0; Employee emp = new Employee(); emp.id = 1; emp.setFirstName("santhosh"); emp.setLastName("kumar"); emp.setAge(25); EMPLOYEES.insert(emp); assert EMPLOYEES.all().size() == 1; emp.setAge(20); EMPLOYEES.update(emp); assert EMPLOYEES.all().get(0).getAge() == 20; try { JDBC.run(new Transaction<Object>() { @Override public Object run(Connection con) throws SQLException { Employee emp = new Employee(); emp.id = 2; emp.setFirstName("santhosh"); emp.setLastName("kumar"); emp.setAge(25); EMPLOYEES.insert(emp); emp.id = 3; EMPLOYEES.insert(emp); assert EMPLOYEES.all().size() == 3; // assert table.findOlderEmployees(1).size()==2; throw new RuntimeException(); } }); } catch (RuntimeException ignore) { // ignore } // assert table.findOlderEmployees(1).size()==0; System.out.println(EMPLOYEES.all().size()); assert EMPLOYEES.all().size() == 1; emp.setAge(10); EMPLOYEES.upsert(emp); assert EMPLOYEES.first("where id=?", emp.id).getAge() == 10; emp.id = -1; emp.setLastName("KUMAR"); EMPLOYEES.upsert(emp); assert EMPLOYEES.first("where last_name=?", "KUMAR") != null; assert EMPLOYEES.all().size() == 2; List<Employee> list = EMPLOYEES.all(); list.get(0).setAge(29); EMPLOYEES.update(list.get(0)); EMPLOYEES.delete(list.get(0)); // List<Employee> list = table.findYoungEmployees(50); // Employee emp1 = EMPLOYEES.get(1); } }