【Java入門】データベースの情報にデータを挿入、データを削除、データを修正する
↑こちらの記事と同じデータを利用しています。
今回は、この生徒一覧表テーブルから、情報を取得します。
SQL文にすると
CREATE TABLE `students` ( `id` INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, `name` TEXT NOT NULL, `grade` INTEGER NOT NULL );
Studentクラス
public class Student { private int id; private String name; private int schoolId; private int grade; public Student(int id, String name, int schoolId, int grade) { this.id = id; this.name = name; this.schoolId = schoolId; this.grade = grade; } public int getId() { return id; } public String getName() { return name; } public int getSchoolId() { return schoolId; } public int getGrade() { return grade; } public void setName(String name) { this.name = name; } private static String getSqlite3Path(){ return System.getProperty("user.dir") + File.separator + "sql" + File.separator + "juku.sqlite3"; } //データを挿入するメソッド。引数は挿入する内容となる値。 public static void insert(String name, int schoolId, int grade) { try { Connection connection = DriverManager.getConnection("jdbc:sqlite:" + getSqlite3Path()); PreparedStatement prepareStatement = connection .prepareStatement("INSERT INTO students(name, school_id, grade) VALUES(?, ?, ?);"); prepareStatement.setString(1, name); prepareStatement.setInt(2, schoolId); prepareStatement.setInt(3, grade); prepareStatement.execute(); } catch (SQLException e) { e.printStackTrace(); } } //削除するメソッド。 public void delete() { try { Connection connection = DriverManager.getConnection("jdbc:sqlite:" + getSqlite3Path()); PreparedStatement prepareStatement = connection .prepareStatement("DELETE FROM students WHERE id = ?;"); prepareStatement.setInt(1, id); prepareStatement.execute(); } catch (SQLException e) { e.printStackTrace(); } } //修正するメソッド。 public void update() { try { Connection connection = DriverManager.getConnection("jdbc:sqlite:" + getSqlite3Path()); PreparedStatement prepareStatement = connection .prepareStatement("UPDATE students SET name = ? WHERE id = ?;"); prepareStatement.setString(1, name); prepareStatement.setInt(2, id); prepareStatement.execute(); } catch (SQLException e) { e.printStackTrace(); } } }