Mybatis 입문 MyBatis 환경 구축(제1 편)
MyBatis 의 전신 은 iBatis 입 니 다.원래는 apache 의 오픈 소스 프로젝트 였 습 니 다.2010 년 에 이 프로젝트 는 apache software fornidation 에서 google code 로 이전 되 었 고 MyBatis 로 이름 을 바 꾸 었 습 니 다.
MyBatis 는 일반 SQL 조회,저장 프로 세 스,고급 맵 을 지원 하 는 우수한 지구 층 프레임 워 크 입 니 다.MyBatis 는 거의 모든 JDBC 코드 와 매개 변수의 수 동 설정 과 결과 집합 검색 을 제거 했다.MyBatis 는 간단 한 XML 이나 주 해 를 사용 하여 설정 과 원본 맵 에 사용 하고 인터페이스 와 자바 의 POJOs(Plan Old Java Objects,일반 자바 대상)를 데이터베이스 에 기록 합 니 다.
다음은 단계별 로 my batis 환경 구축 을 소개 합 니 다.
1)프로젝트 에 mybatis-3.4.1.jar 패 키 지 를 도입 하고 데이터베이스(mysql,mssql..)패 키 지 를 도입 한다.
2)src 아래 에 새 프로필 conf.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>
<!-- -->
<properties resource="jdbc.properties" />
<!-- mybatis -->
<environments default="development">
<environment id="development">
<!-- type="JDBC" JDBC -->
<transactionManager type="JDBC" />
<!-- mybatis 3 , :POOLED,UNPOOLED,JNDI -->
<!-- POOLED JDBC -->
<!-- UNPOOLED -->
<!-- JNDI -->
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="userMapper.xml"/>
</mappers>
</configuration>
외부 프로필 을 통 해 데이터 재고 정 보 를 저장 하기 때문에 jdbc.properties 의 데이터 재고 정 보 를 추가 합 니 다.
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://127.0.0.1;databaseName=test
username=sa
password=123456
3)맵 파일 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="hw.com.ser.IUser">
<!-- -->
<select id="queryUsers" resultType="hw.com.pojo.User">
select * from MS_User
</select>
<selectid="queryUserById" resultType="hw.com.pojo.User" parameterType="int">
Select * From Ms_User Where id=#{id}
</select>
</mapper>
(여기 서 주의해 야 할 것 은 namespace 속성 입 니 다.이 인 스 턴 스 는 인 터 페 이 스 를 통 해 매 핑 되 는 방식 이기 때문에 namespace 속성 은 인터페이스 경 로 를 기록 해 야 합 니 다)부도:4)맵 인터페이스 클래스 만 들 기
package hw.com.ser;
import java.util.List;
import hw.com.pojo.User;
public interface IUser {
public List<User> queryUsers();
public User queryUserById(int id);
}
5)SqlSession Factory 만 들 기
package hw.com.util;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.Properties;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
public class SqlSessionFactoryUtil {
private static SqlSessionFactory sqlSessionFactory = null;
private static final Class CLASS_LOCK = SqlSessionFactoryUtil.class;
private SqlSessionFactoryUtil() {
}
public static SqlSessionFactory initSqlSessionFactory() {
String resource = "conf.xml";
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream(resource);
} catch (IOException e) {
e.printStackTrace();
}
synchronized (CLASS_LOCK) {
if (sqlSessionFactory == null) {
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
}
}
return sqlSessionFactory;
}
public static SqlSession openSqlSession(){
if(sqlSessionFactory==null){
initSqlSessionFactory();
}
return sqlSessionFactory.openSession();
}
}
6)pojo 만 들 기
package hw.com.pojo;
import java.util.Date;
public class User {
private String Id;
private String UserName;
private String UserPwd;
private int DeptmentId;
private String UserTrueName;
private String Email;
private int LearnCenterId;
private Date CreateDate;
private Date LastModifyDate;
private int UserStatus;
public User() {
super();
// TODO Auto-generated constructor stub
}
public String getId() {
return Id;
}
public void setId(String id) {
Id = id;
}
public String getUserName() {
return UserName;
}
public void setUserName(String userName) {
UserName = userName;
}
public String getUserPwd() {
return UserPwd;
}
public void setUserPwd(String userPwd) {
UserPwd = userPwd;
}
public int getDeptmentId() {
return DeptmentId;
}
public void setDeptmentId(int deptmentId) {
DeptmentId = deptmentId;
}
public String getUserTrueName() {
return UserTrueName;
}
public void setUserTrueName(String userTrueName) {
UserTrueName = userTrueName;
}
public String getEmail() {
return Email;
}
public void setEmail(String email) {
Email = email;
}
public int getLearnCenterId() {
return LearnCenterId;
}
public void setLearnCenterId(int learnCenterId) {
LearnCenterId = learnCenterId;
}
public Date getCreateDate() {
return CreateDate;
}
public void setCreateDate(Date createDate) {
CreateDate = createDate;
}
public Date getLastModifyDate() {
return LastModifyDate;
}
public void setLastModifyDate(Date lastModifyDate) {
LastModifyDate = lastModifyDate;
}
public int getUserStatus() {
return UserStatus;
}
public void setUserStatus(int userStatus) {
UserStatus = userStatus;
}
@Override
public String toString() {
return "User [Id=" + Id + ", UserName=" + UserName + ", UserPwd=" + UserPwd + ", DeptmentId=" + DeptmentId
+ ", UserTrueName=" + UserTrueName + ", Email=" + Email + ", LearnCenterId=" + LearnCenterId
+ ", CreateDate=" + CreateDate + ", LastModifyDate=" + LastModifyDate + ", UserStatus=" + UserStatus
+ "]";
}
}
7)메 인 방법 으로 테스트
package hw.com.Day1.main;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import hw.com.pojo.User;
import hw.com.ser.IUser;
import hw.com.util.SqlSessionFactoryUtil;
public class UserTest {
public static void main(String[] args) {
SqlSession sqlSession=null;
try {
sqlSession=SqlSessionFactoryUtil.openSqlSession();
IUser iUser=sqlSession.getMapper(IUser.class);
List<User> users=iUser.queryUsers();
if(users.size()>0){
for (User user : users) {
System.out.println(user.toString());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
마 이 바 티 스 입문 마 이 바 티 스 환경 구축(첫 번 째 편)에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.마 이 바 티 스 환경 구축 입문 에 관 한 더 많은 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SpringMVC와 Mybatis 집합은 호출 저장 프로세스, 사무 제어 실례를 실현한다SSM 프레임워크에서 호출 데이터베이스의 저장 프로세스와 사무 제어에 자주 사용되는데 다음은 증빙서류를 저장하는 예를 들어 소개한다. 1. Oracle에 저장된 프로세스 코드는 다음과 같습니다(주요 논리는 증빙 서류...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.