Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
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
Tags
more
Archives
Today
Total
관리 메뉴

임동까스

[Java] Mysql Java 연동하기 본문

프로그래밍기초/Java

[Java] Mysql Java 연동하기

임동까스 2020. 11. 13. 12:33
	public List<Article> getArticles() {
		List<Article> articles = new ArrayList<>();
		Connection con = null;

		try {
			String dbmsJdbcUrl = "jdbc:mysql://127.0.0.1:3306/textBoard?useUnicode=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Seoul&useOldAliasMetadataBehavior=true&zeroDateTimeNehavior=convertToNull&connectTimeout=60000&socketTimeout=60000";
			String dbmsLoginId = "sbsst";
			String dbmsLoginPw = "sbs123414";

			// MySQL 드라이버 등록
			try {
				Class.forName("com.mysql.jdbc.Driver");
			} catch (ClassNotFoundException e) {
				e.printStackTrace();
			}

			// 연결 생성
			try {
				con = DriverManager.getConnection(dbmsJdbcUrl, dbmsLoginId, dbmsLoginPw);
			} catch (SQLException e) {
				e.printStackTrace();
			}
			// 명령어 저장
			String sql = "SELECT * FROM article ORDER BY id DESC";

			try {
            	// 명령어 실행 후 rs에 결과 저장
				PreparedStatement pstmt = con.prepareStatement(sql);
				ResultSet rs = pstmt.executeQuery();
				
                // rs에 저장된 페이지가 있는 동안 실행
				while (rs.next()) {
					int id = rs.getInt("id");
					String regDate = rs.getString("regDate");
					String updateDate = rs.getString("updateDate");
					String title = rs.getString("title");
					String body = rs.getString("body");
					int memberId = rs.getInt("memberId");
					int boardId = rs.getInt("boardId");

					Article article = new Article(id, regDate, updateDate, title, body, memberId, boardId);

					articles.add(article);
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}

		} finally {
			try {
				if (con != null) {
					con.close();
				}
			} catch (SQLException e) {
				e.printStackTrace();
			}
		}

		return articles;
	}

sql 작성부분

String sql = "SELECT * FROM article where id = ?";
PreparedStatement pstmt = con.prepareStatement(sql);
pstmt.setInt(1, input);
ResultSet rs = pstmt.executeQuery(); 물음표 치환으로 가능

 

 

try , catch
   - try에서 발생할 수 있는 에러를 미리 catch로 설정해둠. 에러 발생시 catch 실행 catch로 못 잡은경우 finally로 넘기기  
next()
   - 페이지 넘기기?

finally

   - 무조건실행. 무조건 해야하는 작업 작성.

Connection

   - 열은 경우 무조건 닫아야함 finally 에서 닫으면 무조건 닫음.

   - 주소, 아이디, 비번으로 연결

ResultSet

   - 쿼리 실행 결과가 여기에 저장됌

'프로그래밍기초 > Java' 카테고리의 다른 글

[Java] StringTokenizer  (0) 2020.11.18
[Java] Map, HashMap  (0) 2020.11.18
[Java] abstract, 변수  (0) 2020.11.05
[Java] 삼항연산자, MVC구조  (0) 2020.11.03
[Java] .trim() 공백제거 ( Scanner 메서드)  (0) 2020.11.03