CREATE TABLE USER (
id SERIAL PRIMARY KEY UNIQUE NOT NULL AUTO_INCREMENT,
login_id VARCHAR(255) UNIQUE NOT NULL,
name VARCHAR(255) NOT NULL,
birth_date DATE NOT NULL,
password VARCHAR(255) NOT NULL,
create_date DATETIME NOT NULL,
update_date DATETIME NOT NULL
);
INSERT INTO USER VALUES (1, 'admin', '管理者','1989-01-01', '0000', '2019-01-01', '2019-02-01');
INSERT INTO USER VALUES (2, 'tanaka', '田中', '1990-01-10', '1111', '2019-03-01', '2019-04-01');
INSERT INTO USER VALUES (3, 'yamada', '山田', '1991-02-20', '2222', '2019-05-01', '2019-06-01');
INSERT INTO USER VALUES (4, 'suzuki', '鈴木', '1992-03-30', '3333', '2019-07-01', '2019-08-01');
// userdao.java
package dao;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import model.User;
public class UserDao {
public User findByLoginInfo(String loginId, String password) {
Connection conn = null;
try {
conn = DBManager.getConnection();
String sql = "SELECT * FROM user WHERE login_id = ? and password = ?"; PreparedStatement pStmt = conn.prepareStatement(sql); pStmt.setString(1, loginId); pStmt.setString(2, password); ResultSet rs = pStmt.executeQuery(); if (!rs.next()) { return null; } String loginIdData = rs.getString("login_id"); String nameData = rs.getString("name"); return new User(loginIdData, nameData); } catch (SQLException e) { e.printStackTrace(); return null; } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); return null; } } }
}
public List<User> findAll() {
Connection conn = null;
List<User> userList = new ArrayList<User>();
try {
conn = DBManager.getConnection(); String sql = "SELECT * FROM user"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { int id = rs.getInt("id"); String loginId = rs.getString("login_id"); String name = rs.getString("name"); Date birthDate = rs.getDate("birth_date"); String password = rs.getString("password"); String createDate = rs.getString("create_date"); String updateDate = rs.getString("update_date"); User user = new User(id, loginId, name, birthDate, password, createDate, updateDate); userList.add(user); } } catch (SQLException e) { e.printStackTrace(); return null; } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); return null; } } } return userList;
}
}
回答1件
あなたの回答
tips
プレビュー