// Path: 4.SpringJDBC/src/main/java/com/in28minutes/jdbc/hsql/HsqlDatabase.java
// public class HsqlDatabase {
// 	public Connection conn;
// 
// 	// Connecting to database =>
// 	// Executing Query
// 	public HsqlDatabase() {
// 		try {
// 			loadJdbcDriverForHsqlDb();
// 			setupConnection();
// 		} catch (ClassNotFoundException e) {
// 			e.printStackTrace();
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 		}
// 
// 	}
// 
// 	private void setupConnection() throws SQLException {
// 		conn = DriverManager.getConnection("jdbc:hsqldb:db_file", "sa", "");
// 	}
// 
// 	private void loadJdbcDriverForHsqlDb() throws ClassNotFoundException {
// 		Class.forName("org.hsqldb.jdbcDriver");
// 	}
// 
// 	private void shutdownHsqlDatabase() throws SQLException {
// 		Statement st = conn.createStatement();
// 		st.execute("SHUTDOWN");
// 	}
// 
// 	public void closeConnection() throws SQLException {
// 		shutdownHsqlDatabase();
// 		conn.close(); // if there are no other open connection
// 	}
// }
// 
// Path: 4.SpringJDBC/src/main/java/com/in28minutes/jdbc/model/Todo.java
// public class Todo {
// 
// 	private int id;
// 	private String description;
// 	private boolean isDone;
// 
// 	public Todo() {
// 		super();
// 	}
// 
// 	public Todo(int id, String description, boolean isDone) {
// 		super();
// 		this.id = id;
// 		this.description = description;
// 		this.isDone = isDone;
// 	}
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 	public String getDescription() {
// 		return description;
// 	}
// 
// 	public void setDescription(String description) {
// 		this.description = description;
// 	}
// 
// 	public boolean isDone() {
// 		return isDone;
// 	}
// 
// 	public void setDone(boolean isDone) {
// 		this.isDone = isDone;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "Todo [id=" + id + ", description=" + description + ", isDone="
// 				+ isDone + "]";
// 	}
// 
// }


import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
import java.util.List;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import com.in28minutes.jdbc.hsql.HsqlDatabase;
import com.in28minutes.jdbc.model.Todo;
package com.in28minutes.jdbc.data.service;




public class TodoDataService {

	private static final String INSERT_TODO_QUERY = "INSERT INTO TODO(DESCRIPTION,IS_DONE) VALUES(?, ?)";

	private static final String DELETE_TODO_QUERY = "DELETE FROM TODO WHERE ID=?";

// Path: 4.SpringJDBC/src/main/java/com/in28minutes/jdbc/hsql/HsqlDatabase.java
// public class HsqlDatabase {
// 	public Connection conn;
// 
// 	// Connecting to database =>
// 	// Executing Query
// 	public HsqlDatabase() {
// 		try {
// 			loadJdbcDriverForHsqlDb();
// 			setupConnection();
// 		} catch (ClassNotFoundException e) {
// 			e.printStackTrace();
// 		} catch (SQLException e) {
// 			e.printStackTrace();
// 		}
// 
// 	}
// 
// 	private void setupConnection() throws SQLException {
// 		conn = DriverManager.getConnection("jdbc:hsqldb:db_file", "sa", "");
// 	}
// 
// 	private void loadJdbcDriverForHsqlDb() throws ClassNotFoundException {
// 		Class.forName("org.hsqldb.jdbcDriver");
// 	}
// 
// 	private void shutdownHsqlDatabase() throws SQLException {
// 		Statement st = conn.createStatement();
// 		st.execute("SHUTDOWN");
// 	}
// 
// 	public void closeConnection() throws SQLException {
// 		shutdownHsqlDatabase();
// 		conn.close(); // if there are no other open connection
// 	}
// }
// 
// Path: 4.SpringJDBC/src/main/java/com/in28minutes/jdbc/model/Todo.java
// public class Todo {
// 
// 	private int id;
// 	private String description;
// 	private boolean isDone;
// 
// 	public Todo() {
// 		super();
// 	}
// 
// 	public Todo(int id, String description, boolean isDone) {
// 		super();
// 		this.id = id;
// 		this.description = description;
// 		this.isDone = isDone;
// 	}
// 
// 	public int getId() {
// 		return id;
// 	}
// 
// 	public void setId(int id) {
// 		this.id = id;
// 	}
// 
// 	public String getDescription() {
// 		return description;
// 	}
// 
// 	public void setDescription(String description) {
// 		this.description = description;
// 	}
// 
// 	public boolean isDone() {
// 		return isDone;
// 	}
// 
// 	public void setDone(boolean isDone) {
// 		this.isDone = isDone;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "Todo [id=" + id + ", description=" + description + ", isDone="
// 				+ isDone + "]";
// 	}
// 
// }


// Path: 3.JDBCExample/src/main/java/com/in28minutes/jdbc/data/service/TodoDataService.java
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
import java.util.List;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import com.in28minutes.jdbc.hsql.HsqlDatabase;
import com.in28minutes.jdbc.model.Todo;

package com.in28minutes.jdbc.data.service;




public class TodoDataService {

	private static final String INSERT_TODO_QUERY = "INSERT INTO TODO(DESCRIPTION,IS_DONE) VALUES(?, ?)";

	private static final String DELETE_TODO_QUERY = "DELETE FROM TODO WHERE ID=?";

	HsqlDatabase db = new HsqlDatabase();