>  기사  >  Java  >  MyBatis 시작하기(3) --- 여러 매개변수

MyBatis 시작하기(3) --- 여러 매개변수

黄舟
黄舟원래의
2016-12-21 14:27:101161검색

一、建立表

1.1、建立表,并插入数据

 

/*SQLyog EnterPRise v12.09(64비트)MySQL - 5.6.27- 로그 : 데이터베이스 - mybatis
****************************************** ****************************//*!40101 SET NAMES 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_MO 드 ='NO_AUTO_VALUE_ON_ZERO' */;/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;CREATE DATABASE /*!32312 존재하지 않는 경우*/`mybatis` /*!40100 기본 문자 세트 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=10 DEFAULT CHARSET=utf8;/*`author` 테이블의 데이터 */insert  to `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,'知道了','456789','456789@qq.com','哈哈哈哈哈雅虎','2015-10- 29 14:03:27'),(9,'불지도','1234567890','123456@qq.com','哈哈哈哈哈雅虎','2015-10-29 14:01:16'); / *! 40101 SET SQL_MODE =@OLD_SQL_MODE */;/ *! 40014 SET FOREAT_KEY_CHECKS =@OLD_FOREIGN_KEY_CHECKS */ *! 40014 SET UNIDER_CHECKS =@OLD_UNIQUE_CHECKS */; >

 

 

 

이,创建项目

2.1,创建项目

MyBatis 시작하기(3) --- 여러 매개변수

2.2、创建POJO类

 

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 theauthorUserName    */
public String getAuthorUserName () {return autherUserName;    }    /**
    * @paramauthorUserName 설정할 AuthorUserName    */
   public String getAuthorPassword() {        returnauthorPassword;
   }    /**
    * @return 작성자 비밀번호    */
   public void setAuthorPassword(String AuthorPassword) {        this .authorPassword =authorPassword;
   }    /**
    * @param AuthorPassword 설정할 작성자 비밀번호    */
   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 등록 시간    */
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">









   
   
       
               
       
   









 

 

 

2.3、创建mapper接口

 

공개 인터페이스 AuthorMapper {    
   /**
*
* @Title: findById

* @Description: TODO(다음을 기준으로 사용자 찾기)

* @param id
* @return Author*/
   public Author findAuthorById(int 작성자 ID);

}

 

 

 

2.4、创建mapper.xml

 

br/>  PUBLIC "-//mybatis.org//DTD 매퍼 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

 

 

 

三、传入多个ID,进行查找使用List

3.1、更改Mapper接口

 

/**
*
* @Title: findAuthors

* @Description: TODO(여러 ID를 기반으로 검색)

* @param idLists
* @return List    공개 목록 findAuthors(List idLists);

 

3.2、更改Mapper.xml

 


 

3.3、测试

 

@Test public void testFindAuthors() { //세션 가져오기
Sqlsession sqlSession=sqlSessionFactory.openSession(); //Mapper 인터페이스
AuthorMapperauthorMapper=sqlSession.getMapper(AuthorMapper.class);
List< ;Integer> list=new ArrayList();
.add (6); 세션 닫기 sqlSession.close();
}






4. Map을 매개변수로 사용

4.1 Mapper에서 해당 메소드를 인터페이스에 추가

/**

*

* @Title: findAuthorsByMap

* @Description: TODO(Map을 매개변수로 사용)

* @param map

* @return List*/
public List map);




4.2 Mapper.xml 변경


테스트



@Test public void testFindAuthorsByMap() { //세션 가져오기

SqlSession sqlSession=sqlSessionFactory.openSession () Map ;();

                    map.put("username", "张"); List AuthorMapper.findAuthorsByMap (map);

System.out.println(authors); .close(); System.out.println(a.toString());

                                                                  매퍼 인터페이스


/**
*
* @Title: findAuthorsByParams

* @Description: TODO(여러 매개변수 사용

* @param id
* @param 사용자 이름
* @ return 목록*/
공개 목록

5.2, Mapper.xml

5.3, 테스트


@Test public void testFindAuthorsByParams() { //세션 가져오기
SqlSession sqlSession=sqlSessionFactory.openSession(); //Mapper 인터페이스
AuthorMapperauthorMapper=sqlSession.getMapper(AuthorMapper.class) // 호출 방법 > 목록 & lt; 작성자 & gt; 작성자 =authormapper.findauthorsbyparams (6, "Zhang")
System.out.println (저자) for (for ( for (for (for (for (for (for (for (for (for (for (for (for (for (for (for (for (for (저자 a:저자) {
System.out.println(a.toString());
}
}


🎜 >6. 여러 매개변수 주석을 직접 사용

6.1 , 매퍼 인터페이스

public List findAuthorsByParams(@Param("id") intauthorId,@ Param("username")StringauthorUserName);


6.2, Mapper.xml

SELECT * FROM 작성자

WHERE 작성자_id=#{id}

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