БД H2
Там есть таблица STUDENTS

INSERT INTO STUDENTS VALUES(1, 'Ivanov', '');
INSERT INTO STUDENTS VALUES(2, 'Petrov', 'Swim');
INSERT INTO STUDENTS VALUES(3, 'Sidorov', '');
INSERT INTO STUDENTS VALUES(4, 'Andreev', 'Wrestling');
INSERT INTO STUDENTS VALUES(5, 'Alexeev', 'chess');
INSERT INTO STUDENTS VALUES(6, 'Goruc', 'chekers');

Создадим интерфейс:

public interface StudentsDao {
	
	public int selectAll() throws Exception;
	
	public int deleteById(int ...id) throws Exception;
	
}

Класс для работы с JBDC:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;

public class StudentsDaoJDBC implements StudentsDao {
	
	private Connection getConnection() throws Exception {
		Class.forName("org.h2.Driver").newInstance();
		Connection conn = DriverManager.getConnection(
				"jdbc:h2:tcp://localhost/~/test", "sa", "");
		return conn;

	}
	
	public int selectAll() throws Exception {
		//StudentsDao dao = new StudentsDaoJbbc();
		// соединение с БД
		Connection conn = getConnection();
		// послать SQL
		Statement stmt = null;
		// результат
		ResultSet rs = null;
		// заготовка для SQL
		stmt = conn.createStatement();

		rs = stmt.executeQuery("SELECT ID, NAME, HOBBY FROM STUDENTS");

		ArrayList<STUDENTS> result = new ArrayList<STUDENTS>();

		while (rs.next()) {
			int id = rs.getInt("ID");
			String name = rs.getString("NAME");
			String hobby = rs.getString("HOBBY");
			STUDENTS student = new STUDENTS();

			student.setId(id);
			student.setName(name);
			student.setHobby(hobby);
			result.add(student);
			System.out.println(student.getName() + "|" + student.getHobby() + "|" + student.getId());	
		}
		System.out.println("Всего выбрано " + result.size() + " записей\n");	
		conn.close();
		return result.size();

	}

	public int deleteById(int ... myId) throws Exception {
		// соединение с БД
		Connection conn = getConnection();
		//т.к. есть параметры, т.е. id
		PreparedStatement ps = null;
		int result = 0;
		System.out.println("На удаление передано " + myId.length + " записей");
		
		for(int i = 0; i < myId.length; i++) {
			ps = conn.prepareStatement("DELETE from STUDENTS WHERE id IN (?)");
			ps.setInt(1, myId[i]);
			result += ps.executeUpdate();
			conn.commit();
		}
	
		conn.close();
		System.out.println("Из таблицы удалено " + result + " записей\n");
		

		return result;
	}

}

Класс для таблицы STUDENTS с геттерами и сеттерами:

public class STUDENTS {
	private int id;
	private String name;
	private String hobby;
	
	/**
	 * @return the id
	 */
	public int getId() {
		return id;
	}
	/**
	 * @param id the id to set
	 */
	public void setId(int id) {
		this.id = id;
	}
	/**
	 * @return the name
	 */
	public String getName() {
		return name;
	}
	/**
	 * @param name the name to set
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * @return the hobby
	 */
	public String getHobby() {
		return hobby;
	}
	/**
	 * @param hobby the hobby to set
	 */
	public void setHobby(String hobby) {
		this.hobby = hobby;
	}
	
}

Главный класс:

public class MainClassTest {

	public static void main(String[] args) throws Exception {

		StudentsDao dao = new StudentsDaoJDBC();
		dao.selectAll();
		dao.deleteById(1, 2,6, 3 ,4, 333, 324234);
		dao.selectAll();
		
	}

}

Вывод на консоль:

Ivanov||1
Petrov|Swim|2
Sidorov||3
Andreev|Wrestling|4
Alexeev|chess|5
Goruc|chekers|6
Всего выбрано 6 записей

На удаление передано 7 записей
Из таблицы удалено 5 записей

Alexeev|chess|5
Всего выбрано 1 записей

Реклама