sqlSession.getMapper(UserMapper.class)의 사용 방식
5678 단어 인터페이스 방식 사용mybatis
package bean;
public class User {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public User(String name, Integer age) {
super();
this.name = name;
this.age = age;
}
public User() {
super();
} // , UserMapper.xml , , User
}
User 실체의 맵 기 는 UserMapper(인터페이스)라 고 이름 을 지 었 는데 그 코드 는 다음 과 같다.
package Mapper;
import bean.User;
public interface UserMapper {
public void insertUser(User user);
public User getUser(String name);
}
이 인 터 페 이 스 는 Hibernate 의 DAO 층 인터페이스 와 유사 합 니 다.유일 하 게 다른 것 은 MyBatis 에서 이 인터페이스 만 설명 하면 됩 니 다.이 를 실현 할 필요 가 없습니다.UserMapper 맵 기 에 대응 하 는 설정 파일 은 다음 과 같 습 니 다.(Hibernate 의 User.hbm.xml 에 해당 합 니 다.물론 이 안 은 속성 맵 필드 가 아니 라 맵 기 에서 여러 가지 방법 으로 대응 하 는 sql 구문 입 니 다)
insert into vincent_user(name,age) values(#{name},#{age})
MyBatis 의 프로필 이름 은 mybatis-config.xml 입 니 다.설정 코드 는 다음 과 같 습 니 다.(Hibernate 의 hibernate.cfg.xml 과 비슷 합 니 다.)
설정 파일 을 불 러 와 sqlSession Factory 의 도구 클래스 를 가 져 옵 니 다.
package Util;
import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class MyBatisUtil {
private final static SqlSessionFactory sqlSessionFactory;
static {
String resource = "resource/mybatis-config.xml";
Reader reader = null;
try {
reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
System.out.println(e.getMessage());
}
sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
}
public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}
}
테스트 코드 는 다음 과 같 습 니 다:
package TestMapper;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test;
public class TestMapper {
static SqlSessionFactory sqlSessionFactory = null;
static {
sqlSessionFactory = MyBatisUtil.getSqlSessionFactory();
}
@Test
public void testAdd() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = new User("tom",new Integer(5));
userMapper.insertUser(user);
sqlSession.commit();// ,
} finally {
sqlSession.close();
}
}
@Test
public void getUser() {
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.getUser("jun");
System.out.println("name: "+user.getName()+"|age: "+user.getAge());
} finally {
sqlSession.close();
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 8-17의 MyBatisPodríamos는 MyBatis를 Hibernate의 버전으로 간주합니다. El cual se mantiene presente y adaptándose a los cambios de Java, en sus últi...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.