정수리
309
2020-10-15 10:41:42
0
76

java try with resource 사용 방법 관련


자바7부터는


try with resource 기능을 통해


자동으로 리소스를 해제 시켜준다고하여 검색을 통해 사용법을 찾아 학습하여


코드 작성에 적용하였습니다.


사용 도중 궁금한 부분이 있을 구글 검색을 해보았지만 도움이 될만한 글을 찾지 못해 글을 올리게 되었습니다.


String sql = "insert into sms_log(pg_start) values(now())";//새로운 시작시간 등록
		String sql2 = "SELECT LAST_INSERT_ID() as id";//위에서 새로 등록한 id 값 가져오기
		
		try(
			Connection conn =DriverManager.getConnection("jdbc:mysql://127.0.0.8:8080/testDB", "localhost", "localhost@311");
			PreparedStatement st = 	conn.prepareStatement(sql);
			
		
		)
		{
			
			st.executeUpdate();
			st = conn.prepareStatement(sql2);
			ResultSet rs = st.executeQuery();
			
			while(rs.next())
			{
				smsdto.setLog_last_id(rs.getInt("id"));
			}
			
		}
		catch(Exception e)
		{
			e.printStackTrace(System.out);
		}

처음에 insert문(sql1)을 실행시켜 데이터를 등록한후

최근 마지막에 등록된 데이터의 기본키값(sql2)을 조회할려고 합니다.


try 소괄호 안에 Connection객체와 , Preparement 객체를 생성한 후 

try 대괄호 안에서 sql1문을 실행시킨후

다시 st안에 sql2문을 넣어 실행시키려하니


The resource st of a try-with-resources statement cannot be assigned


이와 같은 오류가 발생합니다 


try with resouce 사용 시에는 sql문 한개를 날린 후 다시 새로운 sql문을 날리 수 없는건가요?







0
  • 답변 0

  • 로그인을 하시면 답변 을 등록할 수 있습니다.