컨테이너, Connection, 트랜잭션, DAO 모드(JDBC 분석 중심)

1251 단어
컨테이너, Connection, 트랜잭션, DAO 모드(JDBC 분석 중심)
DAO(Data Access Object) 모델은 Data Accessor 모델과Active Domain Object 모델로 볼 수 있다.전자는 데이터 접근과 업무 논리의 분리를 실현했고 후자는 업무 데이터의 대상화 봉인을 실현했다.결합하면 데이터 접근에 대한 봉인입니다.DAO 모델은 데이터베이스의 JDBC 작업에 사용되는데 가장 중요한 것은 사무이다.JDBC 사무는 Connection 대상으로 제어되고 기본적인 사무 모델은 사무 자동 제출이다. 만약에'수동'관리를 사용한다면 연결 대상의 자동 제출 기능을false, 즉conn.set AutoCommit(false)로 설정하고 제출할 때conn.commit()를 사용해야 한다.정식으로 사무를 제출했습니다.DAO의 직책: 각 클래스는 하나의 데이터 테이블을 유지보수한다. 즉, 하나의 테이블만을 대상으로 하고 여러 테이블을 연결하고 업무 대상(Business Object)으로 돌아갈 수 있는지 확인한다.문제는 DAO가 하나의 데이터 테이블에 대한 유지보수만 하는 이상 하나의 업무 논리 작업에서 업무 대상은 여러 개의 DAO가 공동 서비스를 필요로 할 수 있다는 데 나타난다.비교적 좋은 원칙은 하나의 업무 대상의 구체적인 조작이 한 업무에서 가장 잘 완성되는 것이다.응용 서버가 제공하는 가능한 JTA를 제외하고 Connection의 획득을 업무 대상에 넣는 방법에서 각 DAO의 방법에 Connection을 매개 변수로 추가하는 것도 괜찮다.업무 상대방의 방법체에서 마지막으로 이 연결을 닫습니다.이렇게 하면 형식적으로 여러 개의 SQL 문구와 한 사무에서 조합하는 것과 같은 효과가 있다.또한 일부 업무 대상에 대해 여러 개의 DAO 조작과 관련이 없는데 이렇게 해야 하는가?물론 이렇게 하는 것도 나무랄 데가 없지만 DAO의 방법에서 Connection과 무Connection 매개 변수가 있는 두 가지 방법을 동시에 제공하는 것도 무방하다.이렇게 하면 비교적 처리하기 쉽다.JTA와 그 용기의 사무 성명 방식은 더욱 간단하지만 JTA 기능을 제공하지 않은 용기, 예를 들어 Tomcat에서 운행하면 해결 방법이 될 수 있다.다 썼는데 봉인하는 방법이 갑자기 생각났어요. 연결에 연결탱크를 사용한다면 연결을 만들고 닫는 데 문제가 없을 것 같아요. 위의 방식도 필요 없어요.부: 부당한 점이 있으면 과격한 발언을 거절하기 위해 댓글을 달아 주십시오.

좋은 웹페이지 즐겨찾기