2012-01-25 3 views
4

myBatis에서 작업하고 싶습니다. MyBatis-3 사용자 가이드를 읽었습니다. 지금은 그것을 구현하려고합니다. 최근 나는 봄을 배웠습니다. 그래서 그것을 구현하는 것이 어렵습니다. 그래서 도움이되는 리소스가 필요합니다. 단계별로 구현할 수 있습니다.봄에 myBatis 구현을 시작하는 방법은 무엇입니까?

답변

7

추가하려면 컨텍스트 파일 file.In 당신의 봄 문맥과의 첫

시작에서 클래스 경로에서의 MyBatis-봄 항아리를 추가 다음 줄

<beans:bean id="dataSource" 
       class="org.springframework.jdbc.datasource.DriverManagerDataSource" 
       p:driverClassName="yourDriverClassName" 
       p:url="yourUrl" 
       p:username="yourUsername" 
       p:password="yourPassword" /> 

<beans:bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 
    <beans:property name="dataSource" ref="dataSource" /> 
    <beans:property name="configLocation" value="/WEB-INF/mybatis-config.xml" /> 
</beans:bean> 
<beans:bean id="userDao" class="com.yourcomp.dao.Userdao"> 
    <beans:property name="sqlSessionFactory" ref="sqlSessionFactory" /> 
</beans:bean> 

당신의 MyBatis-config.xml 파일이 있어야 할 무엇인가 같은 :

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE configuration 
PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-config.dtd"> 

<configuration> 
    <settings> 

    </settings> 
    <typeAliases> 

    <typeAlias alias="User" type ="com.yourcomp.domain.User" /> 

    </typeAliases> 
    <mappers> 

    <mapper resource="com/yourcomp/domain/UserMapper.xml"/> 
    <mapper resource="com/yourcomp/domain/AnotherDomainObjectMapper.xml"/> 
    </mappers> 

</configuration> 

및 SRC/COM/yourcomp/도메인에 userMapper.xml는 /이

같은 수 있습니다 다음과 같은
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE mapper 
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> 
<!--<mapper namespace="org.pbl.rms.RMSUserDao">--> 

<mapper namespace="com.yourcomp.domain.User"> 

    <resultMap id="userMap" type="User"> 
    <id property="userId" column="USER_ID" javaType="int" jdbcType="NUMERIC"/> 
    <result property="userName" column="USER_NAME" javaType="String" jdbcType="VARCHAR"/> 
    <result property="userFullName" column="USER_FULL_NAME" javaType="String" jdbcType="VARCHAR"/> 
    <result property="password" column="PASSWORD" javaType="String" jdbcType="VARCHAR"/> 
    <result property="passwordExpiryDate" column="PASWRD_EXPIRY_DATE" javaType="java.util.Date" jdbcType="DATE"/> 
    <result property="status" column="STATUS" javaType="_integer" jdbcType="DECIMAL"/> 
    </resultMap> 

    <select id="getUserById" parameterType="map" resultMap="userMap"> 
    select * from user where USER_ID=#{userId} 
    </select> 

</mapper> 

이제 DAO 층에서 당신은 클래스가 있습니다

public class UserDAO{ 

    private SqlSessionFactory sqlSessionFactory; 

    public UserDAO() { 

    } 

    public UserDAO(SqlSessionFactory sqlSessionFactory) { 
     this.sqlSessionFactory = sqlSessionFactory; 

    } 
    public String getUserById(Integer userId) { 
     SqlSession session = sqlSessionFactory.openSession(); 

     String name=null; 
     try { 
      name = (String)session.selectOne("com.yourcomp.domain.User.getUserById",userId); 
     }catch(Exception e){ 

     }finally { 
      session.close(); 
     } 
     return name; 
    } 
} 
3

이 경우 MyBatis-Spring이 필요합니다. 참조 herehere 참조 이러한 구성은 단계별 구성을 제공합니다. 구체적인 세부 정보가 필요하면 쿼리 프레임을 다시 작성해야합니다.

또한 IBatis 지원에 대해서는 reference을 확인하십시오.

관련 문제