Java tutorial
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws Exception { String DEFAULT_DRIVER = "org.sqlite.JDBC"; String DEFAULT_URL = "jdbc:sqlite:data/test.db"; Connection conn = createConnection(DEFAULT_DRIVER, DEFAULT_URL); createTable(conn); List<Person> people = new ArrayList<Person>(); people.add(new Person("A", "a")); people.add(new Person("B", "b")); people.add(new Person("C", "c")); saveAll(conn, people); List<Person> rows = findAll(conn); System.out.println(rows); close(conn); } private static List<Person> findAll(Connection conn) throws SQLException { List<Person> rows = new ArrayList<Person>(); Statement stat = conn.createStatement(); ResultSet rs = stat.executeQuery("select * from people;"); while (rs.next()) { rows.add(new Person(rs.getString("name"), rs.getString("occupation"))); } close(stat); close(rs); return rows; } private static void saveAll(Connection conn, List<Person> people) throws SQLException { PreparedStatement prep = conn.prepareStatement("insert into people values (?, ?);"); for (Person person : people) { prep.setString(1, person.getName()); prep.setString(2, person.getOccupation()); prep.addBatch(); } conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); close(prep); } static void createTable(Connection conn) throws SQLException { Statement stat = null; stat = conn.createStatement(); stat.executeUpdate("drop table if exists people;"); stat.executeUpdate("create table people (name, occupation);"); close(stat); } static Connection createConnection(String driver, String url) throws ClassNotFoundException, SQLException { Class.forName(driver); Connection conn = DriverManager.getConnection(url); return conn; } static void close(Connection conn) { try { if (conn != null) { conn.close(); } } catch (Exception e) { e.printStackTrace(); } } static void close(Statement stat) { try { if (stat != null) { stat.close(); } } catch (Exception e) { e.printStackTrace(); } } private static void close(ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (Exception e) { e.printStackTrace(); } } } class Person { private String name; private String occupation; Person(String name, String occupation) { this.name = name; this.occupation = occupation; } public String getName() { return this.name; } public String getOccupation() { return this.occupation; } public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{ name: ").append(this.name).append(", occupation: ").append(this.occupation).append(" }"); return sb.toString(); } }