java - mybatis用户登录,Dao层如何传入多个参数?
黄舟
黄舟 2017-04-18 10:37:04
0
1
542
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

모든 응답(1)
黄舟

두 가지 일반적인 방법이 있습니다.

방법 1

매개변수 전달을 위해 특별히 Bean을 정의하고 Setter/Getter 메소드를 제공하세요. 이 방법은 확실히 너무 번거롭습니다.
하지만 단순화할 수 있습니다. map에 여러 매개변수를 넣고 map에 전달하면 됩니다.

방법 2

mapper接口에서 정의한 방식으로 매개변수를 입력하고 org.apache.ibatis.annotations.Param 주석을 사용하여 매개변수 이름을 표시할 수 있습니다. 예:

으아악

그런 다음 xml에서 해당 이름 매핑을 사용하세요.

으아악

참고

방법 2를 사용하려면 현재 방법이 작동하지 않습니다.
sqlSession.selectOne(queryId) 또는 sqlSession.selectOne(queryId,paramObj) 메소드를 사용하여 호출하기 때문입니다.
두 번째 방법을 사용하려면 먼저 sqlSession.getMapper(UserMapper.class)을 사용하여 정의된 인터페이스(DAO)를 가져와야 합니다. 인터페이스를 가져온 후에는 인터페이스의 메서드 정의가 일반 Java 메서드이기 때문에 비교적 자유롭게 매개 변수를 전달할 수 있습니다. 정의. . @Param 주석을 사용하여 정의된 인터페이스 메서드의 매개변수를 표시할 수 있습니다. 대략적인 예는 다음과 같습니다.

으아악 으아악

여기에 주목해야 할 사항:

  • 사용자 정의된 DAO接口의 전체 클래스 이름 cn.xxx.dao.UserMapper<mapper namespace="cn.xxx.dao.UserMapper">namespace 속성과 일치해야 합니다.
    동시에 namespace의 값(cn.xxx.dao.UserMapper)과 selectid 속성 값(login)은 실제로 당신은 >. sqlSession.selectOne(queryId)queryId

  • 프로젝트인 경우 소스 코드 경로(

    ) 대신 리소스 경로(maven) 아래에 xxxMapper.xml를 배치하고, 그렇지 않으면 런타임 소스 아래에 src/main/resources를 배치해야 합니다. 코드 경로 🎜>을(를) 찾을 수 없습니다. src/main/javaxml文件

  • 또 다른 제안은
을 관리하기 위해

을 사용하는지 시각적으로 확인하는 것입니다. 이를 고려하여 SpringBean에 직접 주입할 필요가 없는 SqlSessionFactory를 관리하는 또 다른 방법이 있습니다. . 다음은 이전에 다른 사람에게서 DAO 가져온 SqlSessionFactory 통합의 예입니다: https://github.com/hylexus/be...fock

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿