프레임워크 스프링 3.2 / MyBatis 3.1 DB Mysql 사용
pom 기본 셋팅 파일
Maven 설정 파일 유저 / m2 폴더 밑에
web.xml 부분 설정 셋팅
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/spring/root-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
classpath:/
target 폴더 및에서 찾는듯
root-context.xml 설정
<util:properties id="contextProperties" location="classpath:context.properties"/>
외부 context.properties 에 DB 정보 설정값 입력
context.properties 파일
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://XXX.XXX.XXX.XXX/admin
username=XXX
password=XXX
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="#{contextProperties.driver}"/>
<property name="url" value="#{contextProperties.url}"/>
<property name="username" value="#{contextProperties.username}"/>
<property name="password" value="#{contextProperties.password}"/>
</bean>
나중에 확인하기 트랜잭션 추가 부분 및 mybatis로 변경되면서 바뀐설정 확인해서 정리하기
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<tx:annotation-driven transaction-manager="txManager" />
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="*" rollback-for="Exception" propagation="REQUIRED"/>
</tx:attributes>
</tx:advice>
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
<constructor-arg index="0" ref="sqlSessionFactory" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:mybatis/mybatis-config.xml" />
<property name="mapperLocations" value="classpath:mybatis/sqlmaps/*.xml" />
</bean>
java 사용부분
비지니스로직 Service 위에 설정 부분
@Autowired
@Qualifier("sqlSession")
private SqlSession sqlSession;
@Override
public List<HashMap<String, String>> getCodeList(Map<String, String> paramMap) throws Exception {
return sqlSession.selectList("Code.getCodeList", paramMap);
}
ibatis랑 크게 바뀐게 없는듯
controller 부분 - 전역변수 설정후 그냥씀 xml 설정부분에서 변경된부분만 확인하면 될듯
@Inject
@Named("manageService")
private ManageService manageService;