Home  >  Article  >  Java  >  Getting Started with MyBatis (3) --- Multiple Parameters

Getting Started with MyBatis (3) --- Multiple Parameters

黄舟
黄舟Original
2016-12-21 14:27:101127browse

一、建立表

1.1、建立表,并插入数据

 

/*SQLyog EnterPRise v12.09 (64 bit)MySQL - 5.6.27-log : Database - 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_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`;/*Table structure for table `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=10 DEFAULT CHARSET=utf8;/*Data for the table `author` */insert  into `author`(`author_id`,`author_username`,`author_password`,`author_email`,`author_bio`,`register_time`)
values (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 FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

 

 

 

二、创建项目

2.1、创建项目

Getting Started with MyBatis (3) --- Multiple Parameters

2.2、创建POJO类

 

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

* @Title: Author.java

* @Package com.pb.mybatis.po

* @ClassName Author

* @Description: TODO (Blog author class)

* @author Liu Nan

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

* @version V1.0*/public class Author {    //作者ID
   private int authorId;    
   //作者用户名
   private String authorUserName;    
   //作者密码
   private String authorPassword;    
   //作者邮箱
   private String authorEmail;    
   //作者介绍
   private int authorBio;    
   //注册时间
   private Date registerTime;    /**
    * @return the authorId    */
   public int getAuthorId() {        return authorId;
   }    /**
    * @param authorId the authorId to set    */
   public void setAuthorId(int authorId) {        this.authorId = authorId;
   }    /**
    * @return the authorUserName    */
   public String getAuthorUserName() {        return authorUserName;
   }    /**
    * @param authorUserName the authorUserName to set    */
   public void setAuthorUserName(String authorUserName) {        this.authorUserName = authorUserName;
   }    /**
    * @return the authorPassword    */
   public String getAuthorPassword() {        return authorPassword;
   }    /**
    * @param authorPassword the authorPassword to set    */
   public void setAuthorPassword(String authorPassword) {        this.authorPassword = authorPassword;
   }    /**
    * @return the authorEmail    */
   public String getAuthorEmail() {        return authorEmail;
   }    /**
    * @param authorEmail the authorEmail to set    */
   public void setAuthorEmail(String authorEmail) {        this.authorEmail = authorEmail;
   }    /**
    * @return the authorBio    */
   public int getAuthorBio() {        return authorBio;
   }    /**
    * @param authorBio the authorBio to set    */
   public void setAuthorBio(int authorBio) {        this.authorBio = authorBio;
   }    /**
    * @return the registerTime    */
   public Date getRegisterTime() {        return registerTime;
   }    /**
    * @param registerTime the registerTime to set    */
   public void setRegisterTime(Date registerTime) {        this.registerTime = registerTime;
   }    /**(non Javadoc)
   
    *

Title: toString


   
    *

Description:重写toString方法


   
    * @return
   
    * @see java.lang.Object#toString()    */
   @Override    public String toString() {        return "Author [authorId=" + authorId + ", authorUserName="
               + authorUserName + ", authorPassword=" + authorPassword                + ", authorEmail=" + authorEmail + ", authorBio=" + authorBio                + ", registerTime=" + registerTime + "]";
   }

   
   
   
}

 

 

 

2.3、创建configruation

 


br/>  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">









   
   
       
       
       
       
   









 

 

 

2.3、创建mapper接口

 

public interface AuthorMapper {    
   /**
*
* @Title: findById

* @Description: TODO (find a user based on it)

* @param id
* @return Author*/
   public Author findAuthorById(int authorId);

}

 

 

 

2.4、创建mapper.xml

 

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

 

 

 

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

3.1、更改Mapper接口

 

/**
*
* @Title: findAuthors

* @Description: TODO (Search based on multiple IDs)

* @param idLists
* @return List*/
   public List findAuthors(List idLists);

 

3.2、更改Mapper.xml

 


 

3.3、测试

 

@Test public void testFindAuthors() {         //Get the session
                sqlsession sqlSession=sqlSessionFactory.openSession();             //Mapper interface
            AuthorMapper=sqlSession.getMapper(A uthorMapper.class);
List list=new ArrayList();
       
          list.add(1);
          list.add(3); //Call method
List authors=authorMapper.findAuthors(list);
System.out.println(authors); //Close session sqlSession.close();
}



4. Use Map as parameter

4.1. Add corresponding methods to the Mapper interface

/**

*

* @Title: findAuthorsByMap


* @Description: TODO (use Map as parameter)

* @param map
* @return List*/
public List findAuthorsByMap(Map map);



4.2. Change Mapper. xml



4.3、Test

@Test public void testFindAuthorsByMap() {                                                                                                                                                                                                  sqlSession and‑‑       sqlSession=sqlSessionFactory.openSession();‑‑               pper(AuthorMapper.class);

Map map=new HashMap() ;

                   map.put("username", "张"); 

                  map.put(("bio", " "); List authors=authorMapper.findAuthorsByMap(map);
System .out.println(authors);                                 sqlSession.close(); ));
                                                            


5. Use multiple parameters directly

5.1, Mapper interface



/**
* *

* @Title: findAuthorsByParams

* @Description: TODO(Use multiple parameters

* @param id

* @param username

* @return List*/

public List findAuthorsByParams(int authorId,String authorUserName);

5 .2. Mapper.xml







5.3, test

@Test public void testFindAuthorsByParams() { //Get session
           SqlSession sqlSession=sqlSessionFactory.openSession();                                                AuthorMapper authorMapper=sqlSession.getMapper(AuthorMapper.class); > ; authors=authorMapper.findAuthorsByParams(6,"张");
System.out.println(authors); :authors){
                System.out.println(a .toString());
                                                                                                                             findAuthorsByParams(@Param("id") int authorId,@Param("username")String authorUserName);





6.2, Mapper.xml

The above is the content of MyBatis Getting Started (3)---multiple parameters. For more related content, please pay attention to the PHP Chinese website (www.php .cn)!


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn