Mybatis 프레임 워 크 구축 및 간단 한 조회 상세 설명
hibenate 는 완전한 ORM 프레임 워 크 로 대상 을 대상 으로 합 니 다.그러나 모두 대상 의 형식 으로 데이터 베 이 스 를 조작 하기 때문에 sql 코드 는 모두 프레임 워 크 에 의 해 자동 으로 생 성 되 고 조작 성과 유연성 이 Mybatis 보다 약간 떨어진다.그래서 Mybatis 는 점점 다수 개발 의 표준 설정 이 되 었 다.
1.my Batis 프레임 워 크 건설
my Batis 의 전체적인 프레임 구 조 는 다음 그림 과 같이 다음 그림 의 공정 그대로 구축 하면 됩 니 다(그 중에서 jar 가방 은 글 의 끝 에 제공 합 니 다)
2.데이터베이스 테이블 에 대응 하 는 실체 클래스 작성
우선,데이터베이스 테이블 구 조 는 다음 과 같다(mysql 데이터베이스).
1.실체 클래스 User.java 에 다음 코드 를 기록 합 니 다.
public class User {
@Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", sex=" + sex
+ ", address=" + address + ", birthday=" + birthday + "]";
}
private int id;
private String username;
private String sex;
private String address;
private Date birthday;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
}
2.SqlMapConfig.xml 에 프로필 쓰기
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- spring environments -->
<environments default="development">
<environment id="development">
<!-- jdbc -->
<transactionManager type="JDBC" />
<!-- -->
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="123456" />
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="sqlmap/User.xml"></mapper>
</mappers>
</configuration>
메모:SqlMapConfig 의 my sql 계 정과 비밀 번 호 는 자신의 계 정 비밀번호 로 바 꿔 야 합 니 다.3.config 패키지 에 log4j.properties(공용 파일)를 만 듭 니 다.
파일 에 기본 인자 쓰기:
# Global logging configuration, debug
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
4.User.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">
<!-- namespace , sql , ,mapper dao , namespace -->
<mapper namespace="test">
<!-- mapper.xml sql , sql , MappedStatement
mapper.xml statement sql
-->
<!-- id -->
<!--
id: statement
#{}: , #{} ,#{}
parameterType: , #{} parameterType
resultType: , , pojo
-->
<select id="findUserById" parameterType="int" resultType="cn.qkp.mybatis.po.User">
SELECT * FROM USER WHERE id=#{id}
</select>
</mapper>
이상 설정 이 완료 되 었 습 니 다.전체 Mybatis 기본 프레임 워 크 는 구축 이 끝 난 셈 입 니 다.우 리 는 코드 를 사용 하여 데이터 베 이 스 를 조작 할 수 있다.우 리 는 먼저 데이터베이스 에 대해 간단 한 조회 조작 을 한다.==============================마 이 배 티 스 를 사용 하 라!==============================================
1.first 패키지 에 테스트 클래스 만 들 기(MybatisFrist.자바)
내용 코드:
private SqlSessionFactory sqlsessionfactory;// SqlSessionFactory
@Before
public void star() throws Exception{
// ,mybitis SqlMapConfig.xml 。 SqlMapConfig mapper user.xml
// config , config
String resource = "SqlMapConfig.xml";
//SqlMapConfig.xml , mybitis Resources getResourceAsStream
InputStream inputStream = Resources.getResourceAsStream(resource);
// Mybitis SqlSessionFactory
sqlsessionfactory = new SqlSessionFactoryBuilder().build(inputStream);
}
@Test
public void test(){
//
SqlSession sqlsession = sqlsessionfactory.openSession();
//
User user = null;
try {
// selectOne user.xml namespace.id; user #{id}
user = sqlsession.selectOne("test.findUserById", 1);
} catch (Exception e) {
// TODO: handle exception
}finally{
sqlsession.close();// sqlsession
}
System.out.println(user);//
}
위 코드 를 실행 합 니 다.결 과 는 다음 과 같 습 니 다.이상 은 데이터 베 이 스 를 성공 적 으로 연결 하여 지정 한 데 이 터 를 얻 었 습 니 다!
ps:이상 은 단일 수 치 를 조회 하 는 조회 방법 입 니 다.한 그룹의 데 이 터 를 조회 하려 면 SqlSession 의 selectList 방법 을 사용 하여 List 를 받 습 니 다.코드 는 다음 과 같 습 니 다:
User.xml 에서:
<select id="selectByName" parameterType="String" resultType="cn.qkp.po.User">
select * from User where username like '%${value}%'
</select>
PS:xml 에서\#{}자리 표시 자 를 사용 하면 시스템 이 자바 형식 과 jdbc 형식 을 자동 으로 변환 합 니 다.그리고${}은 원래 출력 을 표시 합 니 다.${}을 사용 하면 sql 주입 구멍 공격 을 할 수 있 습 니 다.조심 하 십시오.my Batis Run 코드 에서:
@Test
public void star2(){
SqlSession sqlsession = sqlsessionfactory.openSession();
List<User> user = sqlsession.selectList("test.selectByName", " ");
sqlsession.close();
System.out.println(user.get(0));
}
결 과 는:관련 jar 패키지 연결:http://pan.baidu.com/s/1i4TiJD7
이상 은 기본 적 인 구조 구축 과 간단 한 조회 조작 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL/마이바티스 | 동적 쿼리 사용A라는 서비스에 해당하는 테이블을 조인하고 조회하는 데 사용됩니다. 나중에 공통화를 위해 B 및 C 서비스도 추가됩니다. A, B, C 서비스는 모두 단일 쿼리에서 작동할 수 있도록 공통화되어야 합니다. 테이블에 각...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.