Mapper 동적 에이전트 방식
Mapper 인터페이스 개발 은 다음 과 같은 규범 을 따라 야 합 니 다. 1. Mapper. xml 파일 의 namespace 는 mapper 인터페이스의 클래스 경로 와 같 습 니 다.2. Mapper 인터페이스 방법 명 은 Mapper. xml 에서 정의 하 는 모든 statement 의 id 와 같 습 니 다. 3. Mapper 인터페이스 방법의 입력 매개 변수 유형 과 mapper. xml 에서 정의 하 는 모든 sql 의 parameterType 유형 이 같 습 니 다. 4. Mapper 인터페이스 방법의 출력 매개 변수 유형 과 mapper. xml 에서 정의 하 는 모든 sql 의 resultType 유형 이 같은 UserMapper. xml 설정 파일 내용:?xml version="1.0" encoding="UTF-8" ?> br> PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> resultType="cn.zyh.mybatis.pojo.User"> select * from user where id = #{id} resultType="cn.zyh.mybatis.pojo.User"> select * from user where username like '%${value}%' resultType="int"> select last_insert_id() insert into user(username,birthday,sex,address) values (#{username},#{birthday},#{sex},#{address}); UserMapper 인터페이스 코드 만 들 기: public interface UserMapper {/ * * id 조회 * * @ param id * @ return * / User query UserById (int id);
/**
*
*
* @param username
* @return
*/
List queryUserByUsername(String username);
/**
*
*
* @param user
*/
void saveUser(User user);
} SqlMapConfig. xml 파일 을 수정 하고 다음 과 같은 내용 을 추가 합 니 다. 작 성 된 테스트 방법 은 다음 과 같 습 니 다. Public class UserMapperTest {private SqlSession Factory sqlSession Factory;
@Before
public void init() throws Exception {
// SqlSessionFactoryBuilder
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
// SqlMapConfig.xml
InputStream inputStream = Resources.getResourceAsStream("SqlMapConfig.xml");
// SqlsessionFactory
this.sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
}
@Test
public void testQueryUserById() {
// sqlSession, spring spring
SqlSession sqlSession = this.sqlSessionFactory.openSession();
// sqlSession Mapper
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//
User user = userMapper.queryUserById(1);
System.out.println(user);
// spring spring
sqlSession.close();
}
@Test
public void testQueryUserByUsername() {
// sqlSession, spring spring
SqlSession sqlSession = this.sqlSessionFactory.openSession();
// sqlSession Mapper
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//
List list = userMapper.queryUserByUsername(" ");
for (User user : list) {
System.out.println(user);
}
// spring spring
sqlSession.close();
}
@Test
public void testSaveUser() {
// sqlSession, spring spring
SqlSession sqlSession = this.sqlSessionFactory.openSession();
// sqlSession Mapper
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
//
User user = new User();
user.setUsername(" ");
user.setBirthday(new Date());
user.setSex("1");
user.setAddress(" ");
//
userMapper.saveUser(user);
System.out.println(user);
// spring spring
sqlSession.commit();
sqlSession.close();
}
} selectOne 과 selectList 동적 에이전트 대상 이 sqlSession. selectOne () 과 sqlSession. selectList () 를 호출 하 는 것 은 mapper 인터페이스 방법의 반환 값 에 따라 결정 되 며, list 를 되 돌려 주면 selectList 방법 을 호출 하고, 한 대상 을 되 돌려 주면 selectOne 방법 을 호출 합 니 다.
namespace my batis 는 공식 적 으로 mapper 프 록 시 방법 으로 mapper 인 터 페 이 스 를 개발 하 는 것 을 추천 합 니 다. 프로그래머 는 mapper 인터페이스 실현 류 를 작성 하지 않 고 mapper 프 록 시 방법 을 사용 할 때 파 라 메 터 를 입력 하면 pojo 포장 대상 이나 map 대상 을 사용 하여 dao 의 유 니 버 설 성 을 확보 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.