1. 데이터베이스 생성
1.1. 데이터베이스 생성
/*SQLyog EnterPRise v12.09(64비트)MySQL - 5.7.9-log : 데이터베이스 - mybatis
************************ ************************************************// *!40101 세트 이름 utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS , FOREIGN_KEY_CHECKS=0 */;/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;CREATE DATABASE /*! 32312 IF NOT EXISTS*/`mybatis` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `mybatis`;/* 테이블 `author`의 테이블 구조 */DROP TABLE IF EXISTS `author`;CREATE TABLE `author` (
`author_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '작자ID主键',
`author_username` varchar(30) NOT NULL COMMENT '작자용户name',
`author_passWord` varchar(32) NOT NULL COMMENT '작자密码',
`author_email` varchar(50) NOT NULL COMMENT '작자邮箱',
`author_bio` varchar(1000) DEFAULT '这家伙很赖,什么也没留下' COMMENT '작자简介',
`register_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间', PRIMARY KEY (`author_id`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;/*`author 테이블에 대한 데이터 ` */insert `author`(`author_id`,`author_username`,`author_password`,`author_email`,`author_bio`,`register_time`) 값(1,'张三','123456','123@QQ .com','张三是个新手,刚开始注册','2015-10-29 10:23:59'),(2,'이사','123asf','lisi@163.com','魂牵梦萦 ','2015-10-29 10:24:29'),(3,'王五','dfsd342','ww@sina.com','康熙王朝','2015-10-29 10: 25:23'),(4,'赵六','123098sdfa','zhaoliu@qq.com','꽃午骨','2015-10-29 10:26:09'),(5,'钱七','zxasqw','qianqi@qq.com','这家伙很赖,什么也没留下','2015-10-29 10:27:04'),(6,'张三丰', '123456','zhangsf@qq.com','这家伙很赖,什么也没留下','2015-10-29 11:48:00'),(7,'张无忌','qwertyuiop', 'wuji@163.com','这家伙很赖,什么也没留下','2015-10-29 11:48:24'),(8,'fdsf','ffff','fdsfds', NULL,NULL),(9,'fdsf','ffff','fdsfds',NULL,NULL),(10,'aaaa','bbbb','ddd@qq.com','这家伙很赖,什么也没留下','2015-10-29 22:07:45');/*`blog` 테이블의 테이블 구조 */DROP TABLE IF EXISTS `blog`;CREATE TABLE `blog`(
` blog_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'BlogId主键',
`blog_title` varchar(255) NOT NULL COMMENT 'blog标题',
`author_id` int(11) unsigned NOT NULL COMMENT '작자 ID외键', PRIMARY KEY (`blog_id`), KEY `fk_author_id` (`author_id`), CONSTRAINT `fk_author_id` FOREIGN KEY (`author_id`) REFERENCES `author` (`author_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;/*`blog` 테이블의 데이터 */`blog`(`blog_id`,`blog_title`,`author_id`) 값에 삽입(1,'작은 블로그',1) ,(2,'작은 리',2),(3,'王五不是人',3),(4,'赵地人',4),(5,'钱钱钱',5);/ *`posts` 테이블의 테이블 구조 */DROP TABLE IF EXISTS `posts`;CREATE TABLE `posts` (
`post_id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '文章主键ID',
`post_subject ` varchar(255) NOT NULL COMMENT '文章主题,标题',
`post_body` text NOT NULL COMMENT '文章内容最大3000个字符',
`blog_id` int(11) unsigned NOT NULL COMMENT 'Blog主键做外键',
`createtime` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '文章创建时间', PRIMARY KEY (`post_id`), KEY `fk_blog_id` (`blog_id`), CONSTRAINT `fk_blog_id` FOREIGN KEY (`blog_id` ) 참조 `blog`(`blog_id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4;/*`posts` 테이블의 데이터 */`posts`(`post_id`,`post_subject`,`post_body`,`blog_id`,`createtime`) 값에 삽입 (1, 'MyBatis 소개 1', 'MyBatis란 무엇입니까? rnMyBatis는 맞춤형 SQL, 저장 프로시저 및 고급 매핑을 지원하는 탁월한 지속성 계층 프레임워크입니다. MyBatis는 거의 모든 JDBC 코드와 매개변수 수동 설정 및 결과 세트 획득을 방지합니다. MyBatis 구성 및 기본 맵에 간단한 XML 또는 주석을 사용하여 인터페이스 및 Java POJO(Plain Old Java Objects, 일반 Java 객체)를 데이터베이스의 레코드에 매핑할 수 있습니다. ',1,'2015-10-29 10: 32:21') ,(2,'Mybatis 2 소개','MyBatis를 사용하려면 클래스 경로에 mybatis-x.x.x.jar 파일을 넣으시면 됩니다.',1,'2015-10-29 10:32:52 '),(3,' Oracle Learning','Oracle Database, Oracle RDBMS, 줄여서 Oracle이라고도 합니다. 오라클사의 관계형 데이터베이스 관리 시스템입니다.',2,'2015-10-29 10:33:26' ),(4, 'JAVA 학습 1','Java는 Sun Microsystems가 1995년 5월 출시한 Java 객체지향 프로그래밍 언어이자 Java 플랫폼의 총칭입니다.',3,'2015-10-29 10:34:17'),(5 ,'PL/SQL','PL/SQL은 Procedural Language/SQL이라는 프로그래밍 언어이기도 합니다. PL/SQL은 Oracle 데이터베이스를 SQL 문으로 확장한 것입니다.',4, '2015-10-29 10:37:52' ),(6,'CSS 태그 선택기','태그 선택기rnID 선택기rn클래스 선택기rn특수 선택기',5,'2015-10-29 10 :39:44'),(7,'javascript','js:는 프런트 엔드입니다. 스크립팅 언어',2,'2015-10-29 10:40:18');/*!40101 SET SQL_MODE=@OLD_SQL_MODE */ ;/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;/*!40014 SET UNIQUE_CHECKS =@OLD_UNIQUE_CHECKS */;/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
데이터 테이블 및 데이터
2. 프로젝트 생성
2.1. 프로젝트 생성
3.
3.1, 3개 엔터티 클래스
package com.pb.mybatis.po; import java.util.Date;/**
*
* @ClassName: 저자
* @Description: TODO(저자)
* @author Liu Nan
* @date 2015 -10-31 오후 12:39:33
**/public class 작성자 { //저자 ID
private IntegerauthorId; //저자 이름
private StringauthorUserName; //저자 비밀번호
private StringauthorPassword; //저자 이메일
//저자 소개
private String authroBio; //등록 시간
private Date RegisterTime
public Integer getAuthor ID() { returnauthorId;
} public void setAuthorId(Integer AuthorId) authorId =authorId;
} public String getAuthorUserName() { returnauthorUserName;
} public void setAuthorUserName(String ingauthorUserName) { this.authorUserName =authorUserName;
} public String getAuthorPassword() { returnauthorPassword;
} public void setAuthorPassword(String AuthorPassword) { this.authorPassword =authorPassword;
} public String getAuthorEmail() { returnauthorEmail;
} public void setAuthorEmail(String AuthorEmail) { this.authorEmail =authorEmail;
} public String getAuthroBio() { return authroBio;
} public void setAuthroBio(String authroBio) { this.authroB io = authroBio;
} public Date getRegisterTime() { returnregisterTime;
} public void setRegisterTime (날짜 등록 시간) { this.registerTime =registerTime; +authorId + ",authorUserName=" 🎜 > }
}
패키지 com.pb.mybatis.po;import java.util.List;public class Blog {
//Blog,ID
private Integer blogId; //Blog name称标题
private String blogTitle; //외주저자 ID //작자
개인 저자 작성자; //文章 列表
private Integer 작성자 ID;
//文章列表
비공개 목록 게시물목록;
public Integer getBlogId() { return blogId;
} public void setBlogId(Integer blogId) { this.blogId = blogId;
} public String getBlogTitle() { return blogTitle;
} public void setBlogTitle(String blogTitle) { this.blogTitle = blogTitle;
} public Author getAuthor() { returnauthor;
} public void setAuthor(저자 작성자) { this.author = 작성자;
} 공개 정수 getAuthorId() { return AuthorId;
} public void setAuthorId(IntegerauthorId) { this.authorId =authorId;
} public List
} public void setPostsList(List
}
@Override public 문자열 toString() { 반환 "블로그 [blogId=" + blogId + ", blogTitle=" + blogTitle + ",authorId=" +authorId + "]";
}
}
package com.pb.mybatis.po;import java.util.Date;public class 게시물 { //文章ID
개인 정수 postId; //文章标题
private String postTitle; //文章主体内容
private String postBody;
//외键
private Integer blogId; //建立时间
private Date createTime;
public Integer getPostId() { return postId;
} public void setPostId(Integer postId) { this.postId = postId;
} public String getPostTitle() { return postTitle;
} public void setPostTitle(String postTitle) { this.postTitle = postTitle;
} public String getPostBody() { return postBody;
} public void setPostBody(String postBody) { this.postBody = postBody;
} 공개 Date getCreateTime() { return createTime;
} public void setCreateTime(Date createTime) { this.createTime = createTime;
}
public Integer getBlogId() { return blogI d;
} 공개 void setBlogId(정수 blogId) { this.blogId = blogId;
}
@Override public String toString() { return "게시물 [postId=" + postId + ", postTitle=" + postTitle + ", postB 몸= " + postBody + ", createTime=" + createTime + ", blogId=" + blogId + "]";
}
}
3.2、3个接口
패키지 com.pb.mybatis.mapper;import com.pb.mybatis.po.Author;public 인터페이스 AuthorMapper { /**
*
* @Title: findAuthorById
* @Description: TODO(ID로 검색)
* @param @param id
* @param @ return 설정 파일
* @return 작성자 반환 유형
* @throws
*/
public Author findAuthorById(int id);
}
패키지 com.pb.mybatis.mapper;import com.pb.mybatis.po.Blog;공용 인터페이스 BlogMapper {
/**
*
* @Title: findBlogById
* @Description: TODO(BLOGID를 기준으로 BLOG를 찾아 작성자를 연결하고 게시물로 지연 로딩 구현)
* @param @param id
* @param @return 설정 파일
* @return 블로그 반환 유형
* @throws
*/
공개 블로그 findBlogById(int blogId);
}
package com.pb.mybatis.mapper;import java.util.List;import com.pb.mybatis.po.Posts;공용 인터페이스 PostsMapper { /**
*
* @Title: findPostsByBlogId
* @Description: TODO(BLOGID를 기준으로 게시물 목록 찾기)
* @param @param blogId
* @ param @return 설정 파일
* @return List
* @throws
*/
공용 List
}
4、建立mapper.xml与confinguration.xml
4.1, 相对应的mapper.xml
AuthorMapper.xml
br/> PUBLIC "-//mybatis.org//DTD 매퍼 3.0//EN"
"http://mybatis.org/dtd/mybatis-3- mapper.dtd">
BlogMapper.xml
br/> PUBLIC "-//mybatis.org//DTD 매퍼 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
PostsMapper.xml
br/> PUBLIC "-//mybatis.org//DTD 매퍼 3.0//EN"
"http:// mybatis.org/dtd/mybatis-3-mapper.dtd">
4.2,configuration.xml
db.properties
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/mybatis?character=utf8
사용자 이름=root
비밀번호 =root
지연 로딩 활성화 및 즉시 로딩 끄기
br/> PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
< ;!--데이터 소스 -->
5.1. 준잇
패키지 com.pb.mybatis.mapper;import java.io.InputStream;import java.util.List;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org .apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Before;import org.junit.Test;import com.pb.mybatis.po.Blog;import com.pb. mybatis.po.posts; public class blogmappertest {private sqlsessionfactory sqlsessionfactory;
@before public void setup () 예외 { String config = "configuration.xml"; inputstream resource = resources. getResourceAsStream(config);
sqlSessionFactory=new SqlSessionFactoryBuilder().build(resource);
} /**
*
* @Title: testFindBlogs
* @Description: TODO(지연 로딩)
* @param 설정 파일
* @return void 반환 유형
* @throws
*/
@Test public void testFindBlogById() { //建立会话
SqlSession sqlSession=sqlSessionFactory.openSession(); //获取Mapper接口对象
BlogMapper blogMapper=sqlSession.getMapper(BlogMapper.class); //사용Mapper 방법
Blog blog=blogMapper.findBlogById(1);
System.out.println(blog.getBlogId()+"..."+blog.getBlogTitle());
System.out.println("===========开始延时加载작작자============");
System.out.println(블로그 .getAuthor());
System.out.println("===========开始延时加载文章===========");
목록< ;게시물> list=blog.getPostsList(); /*int count=0;
for(게시물 p:list){
System.out.println("count+"+count++);
System.out.println(p.getPostId());
System.out.println(p.getPostTitle());
System.out.println(p.getPostBody());
System.out.println(p.getCreateTime());
System.out.println (p.getBlogid ());
}*/
}
结果:
DEBUG [main] - 1...작은 블로그===========开始延时加载작자저자= ==========디버그 [메인] - ==> 준비 중: 작성자_ID=? 작성자에서 *를 선택하세요. 디버그 [기본] - ==> 매개변수: 1(정수)
DEBUG [main] - 준비 중: blog_id=?인 게시물에서 *를 선택하세요. 디버그 [기본] - ==> 매개변수: 1(정수)
DEBUG [main] -sqlSession是互不影响的,一级缓存
6.2、还是上级的例子测试:查询用户
패키지 com.pb.mybatis.mapper;import static org.junit.Assert.*;import java.io.InputStream;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession ;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Before;import org.junit.Test;import com.pb.mybatis.po.Author;공용 클래스 AuthorMapperTest { private SqlSessionFactory sqlSessionFactory;
@Before public void setUp()에서 예외 발생 {
String config="configuration.xml";
InputStream Resource=Resources.getResourceAsStream(config);
sqlSessionFactory=new SqlSessionFactoryBuilder().build(resource);
}
@Test public void testFindAuthorById() { //获取会话工厂
Sql 세션 sqlSession=sqlSessionFactory.openSession();
AuthorMapper AuthorMapper=sqlSession.getMapper(AuthorMapper.class); //第一次查询
저자author1=authorMapper.findAuthorById(2);
System.out.println(author1); //再次查询同样的
저자author2=authorMapper.findAuthorById(2);
System.out.println(author2);
DEBUG [main] - 저자 [authorId=2,authorUserName=이사,authorPassword=123asf,authorEmail=lisi@163.com,authroBio=魂牵梦萦 ,registerTime=Thu Oct 29 10:24:29 CST 2015]
디버그 [main] - ==> 준비 중: 작성자_ID=? 작성자에서 *를 선택하세요. 디버그 [기본] - ==> 매개변수: 4(정수)
DEBUG [main] -
*
* @Title: addAuthor
* @Description: TODO(추가)
* @param @param 작성자
* @param @return Set 정의된 파일
* @return int 반환 유형
* @throws
*/
public int addAuthor(저자 작성자);
2. Mapper는 직렬화를 구현하기 위해 pojo 클래스를 일치시킵니다
3. authorMapper
7.3. 테스트
@Test public void testCache() { // 세션 팩토리 가져오기
SqlSession sqlSession1 = sqlSessionFactory .openSession () ;
AuthorMapper1 = sqlSession1.getMapper(AuthorMapper.class); // 첫 번째 쿼리
AuthorMapper1 = AuthorMapper1.findAuthorById(2); //해제해야 하며 캐시 영역에 데이터를 쓸 수 없습니다. qlSession1.close( ; sqlSession2.close();*/
// 세션 팩토리 가져오기
SqlSession sqlSession3 = sqlSessionFactory.openSession();
AuthorMapper3 = sqlSession3.getMapper(AuthorMapper.class); // 첫 번째 쿼리
작성자 Author3 =authorMapper3.findAuthorById(2) ;
sqlSession3.close();
}
DEBUG [main] - 생성된 연결 873769339.
DEBUG [main] - JDBC 연결에서 자동 커밋을 false로 설정 [ com.mysql.jdbc.JDBC4Connection@3414a97b]DEBUG [main] - ==> 준비: 작성자에서 * 선택(author_id=? DEBUG [main] - ==> 매개변수: 2(정수)
DEBUG [main] - DEBUG [main]에서 자동 커밋을 true로 재설정 중 [com.mysql. jdbc.JDBC4Connection@3414a97b]
DEBUG [main] - 풀에 대한 연결 873769339를 반환했습니다.
DEBUG [main] - 캐시 적중률 [com.pb.mybatis.mapper.AuthorMapper]: 0.5
중간 커밋 작업 추가
SqlSession sqlSession1 = sqlSessionFactory.openSession();
AuthorMapper1 = sqlSession1.getMapper( AuthorMapper.class); // 첫 번째 쿼리 Author Author1 =authorMapper1.findAuthorById(2); //캐시 영역에 데이터를 쓸 수 없으므로 닫아야 합니다. sqlSession1.close(); AuthorMapper.class);
Author2 =authorMapper2.findAuthorById(2); //업데이트
author2.setAuthorUserName("Chairman");
author2.setAuthroBio("회사");
authorMapper2.updateAuthor (author2); //커밋하면 캐시 영역이 지워집니다. sqlSession2.commit();
sqlSession2.close(); // 세션 팩토리 가져오기
SqlSession s qlSession3 = sqlSessionFactory.openSession();
AuthorMapper authorMapper3 = sqlSession3.getMapper(AuthorMapper.class); // 첫 번째 쿼리
AuthorMapper3 =authorMapper3.findAuthorById(2);
sqlSession3.close();
}
결과 :
DEBUG [main] - 캐시 적중률 [com.pb.mybatis.mapper.AuthorMapper]: 0.0DEBUG [main] - JDBC 연결 열기
DEBUG [main] - 생성된 연결 873769339.
DEBUG [main] ] - JDBC 연결 [com.mysql.jdbc.JDBC4Connection@3414a97b]
DEBUG [main]에서 자동 커밋을 false로 설정 - ==> 준비 중: 작성자_ID=? 작성자에서 *를 선택하세요. 디버그 [기본] - ==> 매개변수: 2(정수)
DEBUG [main] - DEBUG [main]에서 자동 커밋을 true로 재설정 - JDBC 연결 종료 [com.mysql.jdbc.JDBC4Connection@3414a97b]
DEBUG [main] - 연결 873769339를 풀로 반환했습니다.
DEBUG [main] - 캐시 적중률 [com.pb.mybatis.mapper.AuthorMapper ]: 0.5DEBUG [main] - JDBC 연결 열기
DEBUG [main] - 풀에서 873769339 연결을 확인했습니다.
DEBUG [main] - JDBC 연결 [com.mysql.jdbc.JDBC4Connection@에서 자동 커밋을 false로 설정합니다. 3414a97b]
디버그 [main] - ==> 준비 중: 작성자 업데이트 SETauthor_username=?,author_password=?,author_email=?,author_bio=?,register_time=? 어디에서 작성자_ID=? 디버그 [기본] - ==> 매개변수: 董事长(문자열), 123asf(문자열), lisi@163.com(문자열), 공사(문자열), 2015-10-29 10:24:29.0(타임스탬프), 2(정수)
DEBUG [ main] - DEBUG [main] - JDBC 연결 [com.mysql.jdbc. JDBC4Connection@3414a97b]
DEBUG [main] - JDBC 연결 종료 [com.mysql.jdbc.JDBC4Connection@3414a97b]
DEBUG [main] - 연결 873769339를 풀로 반환했습니다.
DEBUG [main] - 캐시 적중 비율 [com.pb.mybatis.mapper.AuthorMapper]: 0.3333333333333333DEBUG [main] - JDBC 연결 열기
DEBUG [main] - 풀에서 연결 873769339를 체크아웃했습니다.
DEBUG [main] - 자동 커밋을 false로 설정 JDBC 연결 [com.mysql.jdbc.JDBC4Connection@3414a97b]
DEBUG [main] - ==> 준비 중: 작성자_ID=? 작성자에서 *를 선택하세요. 디버그 [기본] - ==> 매개변수: 2(정수)
DEBUG [main] - DEBUG [main]에서 자동 커밋을 true로 재설정 - JDBC 연결 종료 [com.mysql.jdbc.JDBC4Connection@3414a97b]
DEBUG [main] - 연결 873769339를 풀로 반환했습니다.
八、Mybatis与ehcache整합
8.1、把jar包导入项目
8.2、建立ehcache.xml
ehcache.xml
> 🎜> overflowToDisk=" false"
timeToIdleSeconds="120"
timeToLiveSeconds="120"
diskExpiryThreadIntervalSeconds="120"
memoryStoreEvictionPolicy="LRU">
@Test public void testCache() { // 세션 팩토리 가져오기
SqlSession sqlSession1 = sqlSessionFactory.openSession();
AuthorMapper1 = sqlSession1.getMapper(AuthorMa pper.class) // 첫 번째 쿼리
AuthorMapper1.findAuthorById(2); //닫아야 하며 캐시 영역에 데이터를 쓸 수 없습니다. sqlSession1.close(); //세션 팩토리 가져오기
SqlSession sqlSession2 = sqlSessionFactory.openSession();
AuthorMapperauthorMapper2 = sqlSession2.getMapper(AuthorMapper.class);
작성자author2 =authorMapper2.findAuthorById(2); //업데이트
author2.setAuthorUserName("Chairman");
author2.setA uthroBio(" Company" );
authorMapper2.updateAuthor(author2); //커밋하면 캐시 영역이 지워집니다. sqlSession2.commit();
sqlSession2.close(); // 세션 팩토리 가져오기
S qlSession sqlSession3 = sqlSessionFactory.openSession() ;
AuthorMapper3 = sqlSession3.getMapper(AuthorMapper.class); // 첫 번째 쿼리
AuthorMapper3 =authorMapper3.findAuthorById(2);
sqlSession3.close();
}
결과:
DEBUG [main] - 클래스 경로에 있는 ehcache.xml에서 ehcache 구성: file:/E:/mywork/MybatisDemo2/bin/ehcache.xml
DEBUG [main] - URL에서 ehcache 구성: file:/ E:/mywork/MybatisDemo2/bin/ehcache.xml
DEBUG [main] - InputStream에서 ehcache 구성
DEBUG [main] - ehcache 속성 무시 xmlns:xsi
DEBUG [main] - ehcache 속성 xsi 무시 :noNamespaceSchemaLocation
DEBUG [main] - 디스크 저장소 경로: F:developehcache
DEBUG [main] - 기본 구성으로 새 CacheManager 생성
DEBUG [main] - PropertiesString은 null입니다.
DEBUG [main] - CacheManagerEventListenerFactory 클래스가 지정되지 않았습니다. 건너뛰는 중...
DEBUG [main] - BootstrapCacheLoaderFactory 클래스가 지정되지 않았습니다. 건너뛰는 중...
DEBUG [main] - CacheWriter 공장이 구성되지 않았습니다. 건너뛰는 중...
DEBUG [main] - CacheExceptionHandlerFactory 클래스가 지정되지 않았습니다. 건너뛰는 중...
DEBUG [main] - 초기화된 net.sf.ehcache.store.NotifyingMemoryStore for com.pb.mybatis.mapper.AuthorMapper
DEBUG [main] - 초기화된 캐시: com.pb.mybatis.mapper .AuthorMapper
DEBUG [main] - CacheDecoratorFactory가 defaultCache에 대해 구성되지 않았습니다. 'com.pb.mybatis.mapper.AuthorMapper'를 건너뛰는 중입니다.
DEBUG [main] - 캐시 적중률 [com.pb.mybatis.mapper.AuthorMapper]: 0.0DEBUG [main] - JDBC 연결 열기
DEBUG [main] - 생성된 연결 1286943672.
DEBUG [main] - JDBC 연결에서 자동 커밋을 false로 설정 [com.mysql.jdbc.JDBC4Connection@4cb533b8]
DEBUG [main] - ==> 준비 중: 작성자_ID=? 작성자에서 *를 선택하세요. 디버그 [기본] - ==> 매개변수: 2(정수)
DEBUG [main] - DEBUG [main]에서 자동 커밋을 true로 재설정 - JDBC 연결 종료 [com.mysql.jdbc.JDBC4Connection@4cb533b8]
DEBUG [main] - 연결 1286943672를 풀로 반환했습니다.
DEBUG [main] - 캐시 적중률 [com.pb.mybatis.mapper.AuthorMapper ]: 0.5DEBUG [main] - JDBC 연결 열기
DEBUG [main] - 풀에서 1286943672 연결을 확인했습니다.
DEBUG [main] - JDBC 연결 [com.mysql.jdbc.JDBC4Connection@에서 자동 커밋을 false로 설정합니다. 4cb533b8]
디버그 [main] - ==> 준비 중: 작성자 업데이트 SETauthor_username=?,author_password=?,author_email=?,author_bio=?,register_time=? 어디에서 작성자_ID=? 디버그 [기본] - ==> 매개변수: 董事长(문자열), 123asf(문자열), lisi@163.com(문자열), 공사(문자열), 2015-10-29 10:24:29.0(타임스탬프), 2(정수)
DEBUG [ main] - DEBUG [main] - JDBC 연결 [com.mysql.jdbc. JDBC4Connection@4cb533b8]
DEBUG [main] - JDBC 연결 종료 [com.mysql.jdbc.JDBC4Connection@4cb533b8]
DEBUG [main] - 연결 1286943672를 풀로 반환했습니다.
DEBUG [main] - 캐시 적중 비율 [com.pb.mybatis.mapper.AuthorMapper]: 0.3333333333333333DEBUG [main] - JDBC 연결 열기
DEBUG [main] - 풀에서 연결 1286943672를 체크아웃했습니다.
DEBUG [main] - 자동 커밋을 false로 설정 JDBC 연결 [com.mysql.jdbc.JDBC4Connection@4cb533b8]
DEBUG [main] - ==> 준비 중: 작성자_ID=? 작성자에서 *를 선택하세요. 디버그 [기본] - ==> 매개변수: 2(정수)
DEBUG [main] - DEBUG [main]에서 자동 커밋을 true로 재설정 - JDBC 연결 종료 [com.mysql.jdbc.JDBC4Connection@4cb533b8]
DEBUG [main] - 연결 1286943672를 풀로 반환했습니다.
以上就是MyBatis入门(五)---延时加载、缓存的内容,更多敳关内容请关注PHP中文网(www.php.cn)!