>  기사  >  Java  >  MyBatis 시작하기 (2) --- 일대일, 일대다

MyBatis 시작하기 (2) --- 일대일, 일대다

黄舟
黄舟원래의
2016-12-21 14:23:311210검색

1. 데이터베이스 테이블 생성

1.1. 데이터 테이블 생성과 데이터 삽입을 동시에

/*SQLyog EnterPRise v12.09 (64 bit) )MySQL - 5.6.27 -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_MO DE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;데이터베이스 생성 /*!32312 존재하지 않는 경우*/` 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 '저자 사용자 이름',
`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=6 DEFAULT CHARSET=utf8;/*`author` 테이블에 대한 데이터 */

`author`(`author_id`,`author_username`,`author_password`,`author_email`,`author_bio`,`register_time`) 값에 삽입 ​​(1,'Zhang San','123456', '123@QQ.com','장삼은 이제 막 등록을 시작한 초보입니다','2015-10-29 10:23:59'),(2,'lee思','123asf','lisi@ 163.com','hunmiannying','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,'Qian Qi','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');

/*`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 '블로그 제목',
`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,'Xiao Zhang의 블로그',1),(2,'Xiao Li',2),(3,'王五 인간이 아님',3),(4,'Zhao Diren',4),(5,'Qian Qian Qian',5);/*테이블 `posts`에 대한 테이블 구조 */DROP TABLE IF EXISTS ` 게시물`; 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 '블로그 기본 키를 외래 키로 사용',
`createtime ` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '기사 생성 시간', PRIMARY KEY (`post_id`), KEY `fk_blog_id` (`blog_id`), CONSTRAINT `fk_blog_id` FOREIGN KEY (`blog_id`) REFERENCES `blog` (`blog_id`)
) ENGINE=InnoDB AUTO_INCREMENT =8 DEFAULT CHARSET=utf8mb4;/*`posts` 테이블의 데이터 */`posts`(`post_id`,`post_subject`,`post_body`,`blog_id`,`createtime`에 삽입 ) 값 (1,'마이바티스 시작하기 1','마이바티스란 무엇인가? rnMyBatis는 맞춤형 SQL, 저장 프로시저 및 고급 매핑을 지원하는 탁월한 지속성 계층 프레임워크입니다. MyBatis는 거의 모든 JDBC 코드와 매개변수의 수동 설정 및 결과 세트 검색을 방지합니다. MyBatis는 인터페이스와 Java POJO(Plain Old Java Objects, 일반 Java 객체)를 데이터베이스의 레코드에 매핑하기 위해 구성 및 기본 맵에 간단한 XML 또는 주석을 사용할 수 있습니다. ',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는 1995년 5월 Sun Microsystems가 출시한 Java 객체지향 프로그래밍 언어이자 Java 플랫폼의 총칭입니다.', 3,'2015-10-29 10:34:17'),(5,'PL/SQL','PL/SQL은 Procedural Language/SQL이라고 불리는 프로그래밍 언어이기도 합니다. PL/SQL은 Oracle 데이터베이스의 확장입니다. to 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 프로젝트 생성 및 jar 패키지 추가

MyBatis 시작하기 (2) --- 일대일, 일대다


2.2. 작성자를 예로 들어 엔터티 클래스 생성

package com.pb.mybatis.po;import java.util.Date;/**
*

* @Title: Author.java

* @Package com.pb.mybatis.po

* @ClassName Author

* @Description: TODO (블로그 작성자 클래스)

* @author Liu Nan

* @date 2015-10-29 9:27:53 am

* @version V1 .0*/public class Author {    //작자ID
   private int 작성자 ID;    
   //작성자명
   private String AuthorUserName;    
   //작성자密码
   private String AuthorPassword;    
   //작성자
   private String 작성자Email;    
   //작성자
   private intauthorBio;    
   //注册时间
   비공개 날짜 등록시간;    /**
    * @return 작성자 ID    */
   public int getAuthorId() {        returnauthorId;
   }    /**
    * @param AuthorId 설정할 작성자 ID    */
   public void setAuthorId(intauthorId) {        this.authorId =authorId;
}/**
    * @return 작성자 사용자 이름    */
public String getAuthorUserName () {return autherUserName;    }    /**
    * @paramauthorUserName 설정할 AuthorUserName    */
   public String getAuthorPassword() {        returnauthorPassword;
   }    /**
    * @return 작성자 비밀번호    */
   public void setAuthorPassword(String AuthorPassword) {        this .authorPassword =authorPassword;
   }    /**
    * @paramauthorPassword 설정할 작성자 비밀번호입니다.    */
   public String getAuthorEmail() {        returnauthorEmail;
   }    /**
    * @return the 작성자이메일    */
   public void setAuthorEmail(String AuthorEmail ) {        this.authorEmail =authorEmail;
   }    /**
    * @param 작성자저자에게 이메일 보내기설정할 이메일    */
   public int getAuthorBio() {        returnauthorBio;
   }    /**
    * @return theauthorBio    */
   public void setAuthorB 이오 (intauthorBio) {        this.authorBio =authorBio;
   }    /**
    * @paramauthorBio 설정할 작성자Bio    */
   public Date getRegisterTime() {        returnregisterTime;
   }    /**
    * @return theregisterTime    */
public void setRegisterTime(Date RegisterTime) {        this.registerTime =registerTime;
   }    /**
    * @paramregisterTime 설정할 레지스터타임    */
   @Override    public String toString() {        return "Author [authorId=" +authorId + ",authorUserName = " + authorSername +", authorPassword = " + authorPassword +", authorEmail = " + authorEmail +", authorBio = " + authorBio +", registerTime = " + registerTime +"];
}








2.3 创建 创建 创建 创建 配置 配置 文件




br/>  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
   < ;transactionManager type="JDBC"/>
   
       

       
       
   
SELECT * FROM 작성자
WHERE 작성자_사용자 이름 LIKE "% "#{ name}"%"INSERT INTO 작성자(author_username,author_password,author_email, author_bio,register_time)
VALUES(#{authorUserName},#{authorPassword},#{authorEmail},#{authorBio},#{registerTime})
작성자 업데이트
set
author_username=#{authorUserName},
author_password=#{authorPassword},
author_email=#{authorEmail} ,
author_bio =#{authorBio},
register_time=#{registerTime}
여기서 Author_id=#{authorId}
< ;delete id="deleteAuthor "parameterType="int">delete fromauthor
여기서author_id=#{authorId}

3. 추가, 삭제, 수정 및 검색

3.1. 테스트 클래스는 작성자를 예로 들어 설명합니다.

/***/package com.pb.mybatis.mapper;import java.io.InputStream;import java.util.Date;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.Author;/**

* @Title: AuthorMapperTest.java

* @Package com.pb.mybatis.mapper

* @ClassName AuthorMapperTest

* @Description: TODO (테스트 중)

* @author Liu Nan

* @date 2015-10-29 11:57:21 AM

* @version V1.0

*/public class AuthorMapperTest {    
   private SqlSessionFactory sqlSessionFactory;    
   /**
*
* @Title: setUp

* @Description: TODO(각 메소드 이전에 실행되는 메소드)

* @throws 예외 void*/
   @Before    public void setUp()에서 예외 발생 {
       String Resource="configuration.xml";
       InputStream in=Resources.getResourceAsStream(resource);        //설명 //获取会话
SqlSession sqlSession=sqlSessionFactory.openSession();        //Mapper接口
       AuthorMapper AuthorMapper=sqlSession.getMapper(AuthorMapper.class);        //사용 방법
       저자author=authorMapper.findAuthorById(2);
       System.out.println(author);        //关闭会话        sqlSession.close();
   }    /**
*
* @Title: testFindAuthorById

* @Description: TODO(사용자 찾기 기준)
void*/
   @Test    public void testFindAuthorByName() {        //获取会话
              SqlSession sqlSession=sqlSessionFactory.openSession();                //Mapper接口
               AuthorMapper AuthorMapper=sqlSession.getMapper(AuthorMapper.class);                //调사용 방법
               목록 저자=authorMapper.findAuthorByName("张");
               System.out.println(authors);                //关闭会话                sqlSession.close();                for(저자 a:authors){
                   System.out.println(a.toString());
              }
   }    /**
*
* @Title: testFindAuthorByName

* @Description: TODO(사용자 이름 기반 퍼지 쿼리)
void*/
   @Test    public void testAddAuthor( ) {        //获取会话
       SqlSession sqlSession=sqlSessionFactory.openSession();        //Mapper接口
       AuthorMapper AuthorMapper=sqlSession.getMapper(AuthorMapper.class);        //调사용 방법
       저자author=new Author();
       author.setAuthorUserName("不知道");
       author.setAuthorPassword("1234567890");
       author.setAuthorEmail("12345 6@ qq.com");
       author.setAuthorBio("知道是个什么");
       author.setRegisterTime(new Date());        int num=authorMapper.addAuthor(author);
       System.out.println("num="+num);
       System.out.println("authorId="+author.getAuthorId());
sqlSession.commit(); sqlSession.close();
} /**
*
* @Title: testUpdateAuthor

* @Description: TODO(사용자 수정)
void*/
@Test public void testUpdateAuthor() { //세션 가져오기
SqlSession sqlSession=sqlSessionFactory.openSession() ;                                                                                                        
author.setAuthorPassword("456789");
author.setAuthorEmail("456789@qq.com" );
author.setAuthor Bio("하하하하하야후");
            author.setRegisterTime(new Date());               int num=authorMapper.updateAuthor(author); .getAuthorId()); 🎜> } /**
*
* @Title: testDeleteAuthor

* @Description: TODO(ID 기준 작성자 삭제)
void*/
@Test public void testDeleteAuthor() {               //세션 가져오기
                  sqlSession=sqlSessionFactory.openSession();                         ) //호출 방법
> int num=authorMapper.deleteAuthor(10);
System.out.println("num="+num);

sqlSession.commit(); //세션 닫기 sqlSession.close ();
}

}






4.1. .블로그 수업 개설


패키지 com.pb.mybatis.po;/**

* @Title: Blog.java

* @Package com.pb.mybatis.po

* @ClassName 블로그

* @Description: TODO (블로그)

* @author Liu Nan

* @date 2015-10-29 9:32:56 AM

* @version V1.0

*/public class 블로그 {    //博客ID
   private int blogId;    
   //标题
   private String blogTitle;    
   //博客작자
   개인 저자 저자;    /**
    * @return the blogId    */
   public int getBlogId() {        return blogId;
   }    /**
    * @param blogId 설정할 blogId    */
   public void setBlogId(int blogId) {        this.blogId = blogId;
}/**
    * @blogTitle을 반환하세요.    */
public String getBlogtitle () {return blogtitle;    }    /**
    * @param blogTitle 설정할 블로그 제목    */
   public Author getAuthor() {        returnauthor;
   }    /**
    * @return 작성자    */
   public void setAuthor(작성자) {        this .author = 작성자;
   }    /**
    * @param 작성자 설정할 작성자    */
   @Override    public String toString() {        return "Blog [blogId=" + blogId + ", blogTitle=" + blogTitle                + ", 작성자= " + 작성자 + "]";
   }
   
   
}


 

4.2、建立BlogMapper接口



/***/package com.pb.mybatis.mapper;import java.util.List;import com.pb.mybatis.po.Author;import com.pb.mybatis.po.Blog;/** (Javadoc 아님)
   
    *

제목: toString

   

    *

설명: 重写toString방법

   

* @return

   

    * @see java.lang.Object#toString()    */공용 인터페이스 BlogMapper {    /**

* @Title: BlogMapper.java

* @Package com.pb.mybatis.mapper

* @ClassName BlogMapper

* @Description: TODO (이 파일의 기능을 한 문장으로 설명)

* @author Liu Nan

* @date 2015-10-29 11:13:21 AM

* @version V1.0

*/
   공용 블로그 findBlogById(int id);    
   /**
*
* @Title: findBlogById

* @Description: TODO(ID를 기준으로 BLOG 찾기)

* @param id
* @return Blog*/
   공개 목록 findBlogByName(String blogTitle);    
   /**
*
* @Title: findByName

* @Description: TODO(블로그 이름으로 찾기)

* @param name
* @return List*/
   public int addBlog(블로그 블로그);    
   
   /**
*
* @Title: addBlog

* @Description: TODO(블로그 추가)

* @param blog
* @return int*/
   public int updateBlog(블로그 블로그);    
   /**
*
* @Title: updateBlog

* @Description: TODO(블로그 수정)

* @param blog
* @return int*/
   public int deleteBlog(int id);
}


 

4.3、建立mapper.xml

 

br/> PUBLIC "-//mybatis.org//DTD 매퍼 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> < ;!-- 두 번째 유형은
resultMap


공통 속성은 테이블의 필드에 해당합니다






-->

4.1, 테스트 클래스

패키지 com.pb.mybatis.mapper;import static org.junit.Assert.*;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.Author;import com.pb.mybatis.po.Blog;/**

* @Title: BlogMapperTest.java

* @Package com.pb.mybatis.mapper

* @ClassName BlogMapperTest

* @Description: TODO (이 파일의 기능을 한 문장으로 설명)

* @author Liu Nan

* @date 2015-10-29 3:12:52 PM

* @version V1.0

*/public class BlogMapperTest {    private SqlSessionFactory sqlSessionFactory;

   
   @Before    public void setUp()에서 예외 발생 {
       String Resource="configuration.xml";
       InputStream in=Resources.getResourceAsStream(resource);        //获取会话工厂
       sqlSessionFactory=new SqlSessionFactoryBuilder().build(in);
   }    /**
    * {@link com.pb.mybatis.mapper.BlogMapper#findBlogById(int)}에 대한 테스트 방법.    */
   @Test    public void testFindBlogById() {       //获取会话
SqlSession sqlSession=sqlSessionFactory.openSession();                //Mapper接口
               BlogMapper blogMapper=sqlSession.getMapper(BlogMapper.class);                //사용 방법
               Blog blog=blogMapper.findBlogById(2);
               System.out.println(blog);                //关闭会话                sqlSession.close();
   }    /**
    * {@link com.pb.mybatis.mapper.BlogMapper#findBlogByName(java.lang.String)}에 대한 테스트 방법.    */
   @Test    public void testFindBlogByName() {        //获取话
     SqlSession sqlSession=sqlSessionFactory.openSession();        //Mapper接口
       BlogMapper blogMapper=sqlSession.getMapper(BlogMapper.class);        //调사용 방법
       목록 blogs=blogMapper.findBlogByName("작은");
       System.out.println(블로그);        //关闭会话        sqlSession.close();
   }    /**
    * {@link com.pb.mybatis.mapper.BlogMapper#addBlog(com.pb.mybatis.po.Blog)}에 대한 테스트 방법.    */
   @Test    public void testAddBlog() {        //获取会话
              SqlSession sqlSession=sqlSessionFactory.openSession();                //Mapper接구
               BlogMapper blogMapper=sqlSession.getMapper(BlogMapper.class);
               Blog blog=new Blog();
               blog.setBlogTitle("倚天屠龙记");
               AuthorMapper AuthorMapper=sqlSession .getMapper(AuthorMapper.class);                //사용 방법
               저자author=authorMapper.findAuthorById(2);
               blog.setAuthor(저자);                int num=blogMapper.addBlog(blog);
               System.out.println("num="+num);
               System.out.println(blog.getBlogId());
               sqlSession.commit( );
               sqlSession.close();
   }    /**
    * {@link com.pb.mybatis.mapper.BlogMapper#updateBlog(com.pb.mybatis.po.Blog)}에 대한 테스트 방법.    */
   @Test    public void testUpdateBlog() {        //获取会话
       SqlSession sqlSession=sqlSessionFactory.openSession();        //Mapper接口
       BlogMapper blogMapper=sqlSession.getMapper(BlogMapper.class);        //사용 방법
       Blog blog=blogMapper.findBlogById(8);
       blog.setBlogTitle("笑傲江湖");
       저자author=blog.getAuthor();
       author.setAuthorUser 이름( "金庸");
       AuthorMapper AuthorMapper=sqlSession.getMapper(AuthorMapper.class);        intauthorNum=authorMapper.updateAuthor(저자);        int num=blogMapper.updateBlog(blog);
       System.out.println("authorNum="+authorNum);
       System.out.println("num="+num);
       sqlSession.commit ();        //关闭会话        sqlSession.close();
   }    /**
    * {@link com.pb.mybatis.mapper.BlogMapper#deleteBlog(int)}에 대한 테스트 방법.    */
   @Test    public void testDeleteBlog() {        //获取会话
              SqlSession sqlSession=sqlSessionFactory.openSession();                //Mapper接口
               BlogMapper blogMapper=sqlSession.getMapper(BlogMapper.class);                int num=blogMapper.deleteBlog(11);
               System.out.println("num="+num);
               sqlSession.commit();
               sqlSession.close();
       }

}

 

 

 

五、一对多

5.1、建立게시물类

 

package com.pb.mybatis.po;import java.util.Date;/**

* @Title: Posts.java

* @Package com.pb.mybatis.po

* @ClassName Posts

* @Description: TODO (블로그 글)

* @author Liu Nan

* @date 2015-10-29 9:31:22 AM

* @version V1.0

*/public class Posts {    //文章ID
   private int postId;    
   //文件主题
   private String postSubject;    
   //主体内容
   private String postBody;    //文章建立时间
   private Date createTime;    
   
   /**
    * @return the postId    */
   public int getPostId() {        return postId;
   }    /**
    * @param postId 설정할 게시물 ID    */
   public void setPostId(int postId) {        this .postId = postId;
   }    /**
    * @return the postSubject    */
   public String getPostSubject() {        return postSubject;
   }    /**
    * @param postSubject 게시물 제목 설정    */
   public void setPostSubject(String postSubject ) {        this.postSubject = postSubject;
   }    /**
    * @postBody 반환    */
   public String getPostBody() {        return postBody;
   }    /**
    * @param postBody 설정할 postBody    */
   public void setPostBody (String postBody) {        this.postBody = postBody;
   }   /**
    * @return createTime    */
   public Date getCreateTime() {        return createTime;
   }    /**
    * @param createTime 설정할 createTime    */
public void setCreateTime(Date createTime) {        this.createTime = createTime;
   }    /**(Javadoc 아님)
   
    *

제목: toString


   
    *

설명: 重写toString방법


   
* @return
   
    * @see java.lang.Object#toString()    */
   @Override    public String toString() {        return "게시물 [postId=" + postId + ", postSubject =" + postSubject                + ", postBody=" + postBody +", createTime="
               + createTime + "]";
   }

   
   
   
   
}

 

5.2、지금 블로그类中添加List

 

package com.pb.mybatis.po;import java.util.List;/**

* @Title: Blog.java

* @Package com.pb.mybatis.po

* @ClassName 블로그

* @Description: TODO (블로그)

* @author Liu Nan

* @date 2015-10-29 9:32:56 AM

* @version V1.0

*/public class Blog {    //博客ID
   private int blogId;    
   //标题
   private String blogTitle;    
   //博客작자
   개인 저자 저자;    
   //文章List
   비공개 목록 게시물;    /**
    * @return the blogId    */
   public int getBlogId() {        return blogId;
   }    /**
    * @param blogId 설정할 blogId    */
   public void setBlogId(int blogId) {        this.blogId = blogId;
}/**
    * @blogTitle을 반환하세요.    */
public String getBlogtitle () {return blogtitle;    }    /**
    * @param blogTitle 설정할 블로그 제목    */
   public Author getAuthor() {        returnauthor;
   }    /**
    * @return 작성자    */
   public void setAuthor(작성자) {        this .author = 작성자;
   }    /**
    * @param 작성자 설정할 작성자    */
   공개 목록 getPosts() {        return post;
   }    /**
    * @return 게시물    */
   public void setPosts(List 게시물) {        this.posts = 게시물;
   }    /**
    * @param은 설정할 게시물을 게시합니다.    * /
   @Override    public String toString() {        return "Blog [blogId=" + blogId + ", blogTitle=" + blogTitle                + ", 작성자=" + 작성자 + ", post=" + 게시물 + "]";
   }

   
   
   
}


 

5.3、修改blogMapper.xml

 

br/> PUBLIC "-//mybatis.org//DTD 매퍼 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> < ;!--일대다 연관 -->VALUES(#{blogTitle},#{author.authorId})blog_id=#{blogId}인 블로그에서 삭제합니다.

5.4, Test

테스트 클래스는 그대로 유지됩니다

MyBatis 시작하기 (2) --- 일대일, 일대다

위는 MyBatis(2)에 대한 소개입니다.---일대일, 일대다 콘텐츠에 대한 자세한 내용은 PHP 중국어를 참고하세요. 홈페이지(www.php.cn)!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.