StringBuilderを使って値をSQLに登録したいのですが、SQLに登録できていないのでご教授いただければと思います。
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class Dao { private static final String URL = "jdbc:mysql://localhost:3306/aaa?characterEncoding=UTF-8&serverTimezone=JST"; private static final String USER = "bbb"; private static final String PASS = "ccc"; private static final String DRIVE = "com.mysql.cj.jdbc.Driver"; private Connection getConnection() throws SQLException, ClassNotFoundException { Connection con = null; Class.forName(DRIVE); con = DriverManager.getConnection(URL, USER, PASS); con.setAutoCommit(false); return con; } public void insertDto(Dto dto) throws SQLException { PreparedStatement ps = null; Connection con = null; try { con = getConnection(); StringBuilder INSERT_SQL = new StringBuilder(); INSERT_SQL.append("INSERT INTO aaa ("); INSERT_SQL.append("ID,"); INSERT_SQL.append("name,"); INSERT_SQL.append("remarks)"); INSERT_SQL.append("VALUES (?,?,?);"); String sql = INSERT_SQL.toString(); ps = con.prepareStatement(sql); ps.setInt(1, dto.getID()); ps.setString(2, dto.getName()); ps.setString(3, dto.getRemarks()); ps.executeUpdate(); con.commit(); } catch (ClassNotFoundException | SQLException e) { con.rollback(); } finally { try { if (ps != null) { ps.close(); } } catch (SQLException e) { } try { if (con != null) { con.close(); } } catch (SQLException e) { } } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/27 06:26 編集
2021/01/27 06:46
2021/01/27 08:04
2021/01/27 08:06 編集
2021/01/27 08:23
2021/01/27 08:32
2021/01/27 08:37
2021/01/27 08:44