Closed taxol1203 closed 3 years ago
7.1의 목표인, SQL을 Dao에서 분리하는 이유는 운영 중에 DB의 테이블 or 필드이름 or SQL문이 변경될 수 있는데, 그 때마다 Dao를 수정해서 다시 컴파일하는 것을 방지하기 위해서 입니다.
7.1의 마치고, xml을 통해 SQL을 분리 하였습니다.
<bean id="userDao" class="com.taxol.dao.UserDaoJdbc"> <property name="dataSource" ref="dataSource"/> <property name="sqlService" ref="sqlService"/> </bean> <bean id="sqlService" class="com.taxol.domain.sqlservice.SimpleSqlService"> <property name="sqlMap"> <map> <entry key="userAdd" value="insert into users(id, name, password, level, login, recommend, email) values(?,?,?,?,?,?,?)" /> <entry key="userGet" value="select * from users where id = ?" /> <entry key="userGetAll" value="select * from users order by id" /> <entry key="userDeleteAll" value="delete from users" /> <entry key="userGetCount" value="select count(*) from users" /> <entry key="userUpdate" value="update users set name = ?, password = ?, level = ?, login = ?, recommend = ? where id = ?" /> </map> </property> </bean>
7.1을 마치고 궁금한 것이, 이렇게 xml로 분리하였어도 실행 중에는 여전히 변경하기 어렵지 않을까라는 생각이 듭니다
SQL을 xml로 분리하더라도 분리된 xml을 수정할 경우 서버를 재시작해야 합니다. 이를 해결하기 위해 책 뒷편에는 인터페이스 분리를 통해 사용 중인 SQL을 수정하는 기능인 UpdatableSqlRegitry를 만들었습니다.
7.1의 목표인, SQL을 Dao에서 분리하는 이유는
운영 중에 DB의 테이블 or 필드이름 or SQL문이 변경될 수 있는데, 그 때마다 Dao를 수정해서 다시 컴파일하는 것을 방지하기 위해서 입니다.
7.1의 마치고, xml을 통해 SQL을 분리 하였습니다.
7.1을 마치고 궁금한 것이, 이렇게 xml로 분리하였어도 실행 중에는 여전히 변경하기 어렵지 않을까라는 생각이 듭니다