public static void getConnection(String URL, String USER, String PASS)のURL,USER,PASSの値をpublic void insertDto(Dto dto)のcon = DriverManager.getConnection(URL, USER, PASS);に値を入れたいです。
直接記入やクラス内での記入だとうまくはいくのですが、別メソッドからも呼び出して使えるようにしたいです。
Dao
1 2import java.sql.Connection; 3import java.sql.DriverManager; 4import java.sql.PreparedStatement; 5import java.sql.SQLException; 6 7public class Dao { 8 private static final String SQL = "INSERT INTO product (ID,name,remarks) VALUES (?,?,?);"; 9 private static final String DRIVE = "com.mysql.cj.jdbc.Driver"; 10 11 public static void getConnection(String URL, String USER, String PASS) throws SQLException { 12 URL = "jdbc:mysql://localhost:3306/aaa?characterEncoding=UTF-8&serverTimezone=JST"; 13 USER = "bbb"; 14 PASS = "ccc"; 15 16 try { 17 con = DriverManager.getConnection(URL, USER, PASS); 18 } catch (SQLException e) { 19 } 20 } 21 22 void close() throws SQLException { 23 con = DriverManager.getConnection(URL); 24 con.close(); 25 } 26 27 static Connection con = null; 28 PreparedStatement ps = null; 29 30 public void insertDto(Dto dto) throws SQLException { 31 try { 32 Class.forName(DRIVE); 33 con = DriverManager.getConnection(URL, USER, PASS); 34 ps = con.prepareStatement(SQL); 35 ps.setInt(1, dto.getID()); 36 ps.setString(2, dto.getName()); 37 ps.setString(3, dto.getRemarks()); 38 ps.executeUpdate(); 39 con.commit(); 40 } catch (ClassNotFoundException | SQLException e) { 41 con.rollback(); 42 } finally { 43 try { 44 if (ps != null) { 45 ps.close(); 46 } 47 } catch (SQLException e) { 48 } 49 try { 50 if (con != null) { 51 con.close(); 52 } 53 } catch (SQLException e) { 54 } 55 } 56 } 57}
回答1件
あなたの回答
tips
プレビュー