본인은 아직 MyBatis에 능숙하지 못하여 매번 직접 요렇게 jdbc로 디비에 접속을 한다. 머리가 모자라면 몸이고생..
mySql의 경우에는 사용하는 database를 한 번 더 만드는 과정이 있어서 그걸 설정해 줘야 한다.
근데 웃긴 것은 할 때마다 맨날 까먹어서 맨날 다시 찾아보고 찾아보고 하는 그 시간이 너무 슬퍼서...복사해다 쓰려고 남겨놓스빈다.
mysql을 연결하기 전에 jar파일을 다운
Maven인 경우
해당 프로젝트 pom.xml에 들어가서 dependency에 추가한다.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.38</version>
</dependency>
Maven이 아닌 경우
http://dev.mysql.com/downloads/connector/j/
에 가서 파일을 다운받은 뒤 properties - java build path 에서 라이브러리를 추가한다.
그리고 클래스를 만든다. (참고: 퀵스프링스타트, 채규태 저)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import com.mysql.jdbc.PreparedStatement; public class JDBCUtil { public static Connection getConnection() { try { Class.forName("com.mysql.jdbc.Driver"); return DriverManager.getConnection("jdbc:mysql://localhost:3306/사용할데이터베이스이름?autoReconnect=true&useSSL=true", "아이디", "비밀번호"); }catch (Exception e) { e.printStackTrace(); } return null; } public static void close(java.sql.PreparedStatement stmt, Connection conn) { if(stmt != null) { try { if(!stmt.isClosed()) stmt.close(); } catch (Exception e) { e.printStackTrace(); }finally { stmt = null; } } if(conn != null) { try { if(!conn.isClosed()) conn.close(); } catch(Exception e) { e.printStackTrace(); }finally { conn = null; } } } public static void close(ResultSet rs, PreparedStatement stmt, Connection conn) { if(rs != null) { try { if(!rs.isClosed()) rs.close(); } catch (Exception e) { e.printStackTrace(); }finally { rs = null; } } if(stmt != null) { try { if(!stmt.isClosed()) stmt.close(); } catch (Exception e) { e.printStackTrace(); } finally { stmt = null; } } if(conn != null) { try { if(!conn.isClosed()) conn.close(); } catch (Exception e) { e.printStackTrace(); } finally { conn = null; } } } } | cs |
필요할 때 갖다 쓴다.
ex)
public void insert(BoardVO vo) {
try {
conn = JDBCUtil.getConnection(); <--아까 만들었던 클래스에서 커넥션 가져오기
stmt = conn.prepareStatement("insert into board(title, writer, content) values(?,?,?)");
stmt.setString(1, vo.getTitle());
stmt.setString(2, vo.getWriter());
stmt.setString(3, vo.getContent());
stmt.executeUpdate();
}catch(Exception e) {
e.printStackTrace();
}finally {
JDBCUtil.close(stmt, conn);
}
}
'건승하고있어요 > Java' 카테고리의 다른 글
[입출력] 프린터 보조 스트림printf() (0) | 2018.02.11 |
---|---|
[sort] Comparable 과 Comparator (2) | 2018.02.04 |
[Collection] Map - HashMap (0) | 2018.02.03 |
[Collection] Set - HashSet, TreeSet, LinkedHashSet (0) | 2018.02.03 |
[Collection] 스택(Stack, LIFO) 과 큐(Queue, FIFO) (0) | 2018.02.03 |