search
HomeJavajavaTutorialGetting Started with MyBatis (3) --- Multiple Parameters

一、建立表

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
Java Platform Independence: Compatibility with different OSJava Platform Independence: Compatibility with different OSMay 13, 2025 am 12:11 AM

JavaachievesplatformindependencethroughtheJavaVirtualMachine(JVM),allowingcodetorunondifferentoperatingsystemswithoutmodification.TheJVMcompilesJavacodeintoplatform-independentbytecode,whichittheninterpretsandexecutesonthespecificOS,abstractingawayOS

What features make java still powerfulWhat features make java still powerfulMay 13, 2025 am 12:05 AM

Javaispowerfulduetoitsplatformindependence,object-orientednature,richstandardlibrary,performancecapabilities,andstrongsecurityfeatures.1)PlatformindependenceallowsapplicationstorunonanydevicesupportingJava.2)Object-orientedprogrammingpromotesmodulara

Top Java Features: A Comprehensive Guide for DevelopersTop Java Features: A Comprehensive Guide for DevelopersMay 13, 2025 am 12:04 AM

The top Java functions include: 1) object-oriented programming, supporting polymorphism, improving code flexibility and maintainability; 2) exception handling mechanism, improving code robustness through try-catch-finally blocks; 3) garbage collection, simplifying memory management; 4) generics, enhancing type safety; 5) ambda expressions and functional programming to make the code more concise and expressive; 6) rich standard libraries, providing optimized data structures and algorithms.

Is Java Truly Platform Independent? How 'Write Once, Run Anywhere' WorksIs Java Truly Platform Independent? How 'Write Once, Run Anywhere' WorksMay 13, 2025 am 12:03 AM

JavaisnotentirelyplatformindependentduetoJVMvariationsandnativecodeintegration,butitlargelyupholdsitsWORApromise.1)JavacompilestobytecoderunbytheJVM,allowingcross-platformexecution.2)However,eachplatformrequiresaspecificJVM,anddifferencesinJVMimpleme

Demystifying the JVM: Your Key to Understanding Java ExecutionDemystifying the JVM: Your Key to Understanding Java ExecutionMay 13, 2025 am 12:02 AM

TheJavaVirtualMachine(JVM)isanabstractcomputingmachinecrucialforJavaexecutionasitrunsJavabytecode,enablingthe"writeonce,runanywhere"capability.TheJVM'skeycomponentsinclude:1)ClassLoader,whichloads,links,andinitializesclasses;2)RuntimeDataAr

Is java still a good language based on new features?Is java still a good language based on new features?May 12, 2025 am 12:12 AM

Javaremainsagoodlanguageduetoitscontinuousevolutionandrobustecosystem.1)Lambdaexpressionsenhancecodereadabilityandenablefunctionalprogramming.2)Streamsallowforefficientdataprocessing,particularlywithlargedatasets.3)ThemodularsystemintroducedinJava9im

What Makes Java Great? Key Features and BenefitsWhat Makes Java Great? Key Features and BenefitsMay 12, 2025 am 12:11 AM

Javaisgreatduetoitsplatformindependence,robustOOPsupport,extensivelibraries,andstrongcommunity.1)PlatformindependenceviaJVMallowscodetorunonvariousplatforms.2)OOPfeatureslikeencapsulation,inheritance,andpolymorphismenablemodularandscalablecode.3)Rich

Top 5 Java Features: Examples and ExplanationsTop 5 Java Features: Examples and ExplanationsMay 12, 2025 am 12:09 AM

The five major features of Java are polymorphism, Lambda expressions, StreamsAPI, generics and exception handling. 1. Polymorphism allows objects of different classes to be used as objects of common base classes. 2. Lambda expressions make the code more concise, especially suitable for handling collections and streams. 3.StreamsAPI efficiently processes large data sets and supports declarative operations. 4. Generics provide type safety and reusability, and type errors are caught during compilation. 5. Exception handling helps handle errors elegantly and write reliable software.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.