MyBatis入门(三)---多个参数
一、建立表
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、创建项目
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 刘楠
* @date 2015-10-29 上午9:27:53
* @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
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(根据查找一个用户)
* @param id
* @return Author */
public Author findAuthorById(int authorId);
}
2.4、创建mapper.xml
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(根据多个ID进行查找)
* @param idLists
* @return List
public List
3.2、更改Mapper.xml
3.3、测试
@Test public void testFindAuthors() { //获取会话
Sqlsession sqlSession=sqlSessionFactory.openSession(); //Mapper接口
AuthorMapper authorMapper=sqlSession.getMapper(AuthorMapper.class);
List
list.add(1);
list.add(3);
list.add(4);
list.add(6);
list.add(7); //调用方法
List
System.out.println(authors); //关闭会话 sqlSession.close();
}
四、使用Map做为参数
4.1、在Mapper接口中增加相应方法
/**
*
* @Title: findAuthorsByMap
* @Description: TODO(使用Map做为参数)
* @param map
* @return List
public List
4.2、更改Mapper.xml
4.3、测试
@Test public void testFindAuthorsByMap() { //获取会话
SqlSession sqlSession=sqlSessionFactory.openSession(); //Mapper接口
AuthorMapper authorMapper=sqlSession.getMapper(AuthorMapper.class);
Map
map.put("username", "张");
map.put("bio", "哈");
//调用方法
List
System.out.println(authors); //关闭会话 sqlSession.close(); for(Author a:authors){
System.out.println(a.toString());
}
}
五、直接使用多个参数
5.1、Mapper接口
/**
*
* @Title: findAuthorsByParams
* @Description: TODO(使用多个参数
* @param id
* @param username
* @return List
public List
5.2、Mapper.xml
5.3、测试
@Test public void testFindAuthorsByParams() { //获取会话
SqlSession sqlSession=sqlSessionFactory.openSession(); //Mapper接口
AuthorMapper authorMapper=sqlSession.getMapper(AuthorMapper.class);
//调用方法
List
System.out.println(authors); //关闭会话 sqlSession.close(); for(Author a:authors){
System.out.println(a.toString());
}
}
六、直接使用多个参数注解写法
6.1、Mapper接口
public List
6.2、Mapper.xml
以上就是MyBatis入门(三)---多个参数的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



iBatis vs. MyBatis: Mana yang patut anda pilih? Pengenalan: Dengan perkembangan pesat bahasa Java, banyak rangka kerja kegigihan telah muncul. iBatis dan MyBatis ialah dua rangka kerja kegigihan yang popular, kedua-duanya menyediakan penyelesaian capaian data yang mudah dan cekap. Artikel ini akan memperkenalkan ciri dan kelebihan iBatis dan MyBatis, dan memberikan beberapa contoh kod khusus untuk membantu anda memilih rangka kerja yang sesuai. Pengenalan kepada iBatis: iBatis ialah rangka kerja kegigihan sumber terbuka

Tafsiran teg SQL dinamik MyBatis: Penjelasan terperinci tentang penggunaan teg Set MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik Ia menyediakan banyak teg SQL dinamik dan boleh membina pernyataan operasi pangkalan data secara fleksibel. Antaranya, tag Set ialah tag yang digunakan untuk menjana klausa SET dalam kenyataan UPDATE, yang sangat biasa digunakan dalam operasi kemas kini. Artikel ini akan menerangkan secara terperinci penggunaan teg Set dalam MyBatis dan menunjukkan kefungsiannya melalui contoh kod tertentu. Apakah itu Set tag Set tag digunakan dalam MyBati

Beberapa cara untuk melaksanakan pernyataan pemadaman kelompok dalam MyBatis memerlukan contoh kod khusus Dalam beberapa tahun kebelakangan ini, disebabkan oleh peningkatan jumlah data, operasi kelompok telah menjadi bahagian penting dalam operasi pangkalan data. Dalam pembangunan sebenar, kita selalunya perlu memadamkan rekod dalam pangkalan data secara berkelompok. Artikel ini akan menumpukan pada beberapa cara untuk melaksanakan pernyataan padam kelompok dalam MyBatis dan memberikan contoh kod yang sepadan. Gunakan teg foreach untuk melaksanakan pemadaman kelompok MyBatis menyediakan teg foreach, yang boleh melintasi set dengan mudah.

JPA dan MyBatis: Analisis Perbandingan Fungsi dan Prestasi Pengenalan: Dalam pembangunan Java, rangka kerja kegigihan memainkan peranan yang sangat penting. Rangka kerja kegigihan biasa termasuk JPA (JavaPersistenceAPI) dan MyBatis. Artikel ini akan menjalankan analisis perbandingan fungsi dan prestasi kedua-dua rangka kerja dan menyediakan contoh kod khusus. 1. Perbandingan fungsi: JPA: JPA ialah sebahagian daripada JavaEE dan menyediakan penyelesaian kegigihan data berorientasikan objek. Ia diluluskan anotasi atau X

Penjelasan terperinci tentang cara menggunakan pernyataan pemadaman kumpulan MyBatis memerlukan contoh kod khusus Pengenalan: MyBatis ialah rangka kerja lapisan kegigihan yang sangat baik yang menyediakan fungsi operasi SQL yang kaya. Dalam pembangunan projek sebenar, kami sering menghadapi situasi di mana data perlu dipadamkan dalam kelompok. Artikel ini akan memperkenalkan secara terperinci cara menggunakan pernyataan pemadaman kumpulan MyBatis, dan melampirkan contoh kod tertentu. Senario penggunaan: Apabila memadamkan sejumlah besar data dalam pangkalan data, adalah tidak cekap untuk melaksanakan kenyataan padam satu demi satu. Pada ketika ini, anda boleh menggunakan fungsi pemadaman kelompok MyBatis

Penjelasan terperinci tentang cache peringkat pertama MyBatis: Bagaimana untuk meningkatkan kecekapan capaian data? Semasa proses pembangunan, capaian data yang cekap sentiasa menjadi salah satu fokus pengaturcara. Untuk rangka kerja lapisan kegigihan seperti MyBatis, caching ialah salah satu kaedah utama untuk meningkatkan kecekapan capaian data. MyBatis menyediakan dua mekanisme caching: cache peringkat pertama dan cache peringkat kedua. Cache peringkat pertama didayakan secara lalai. Artikel ini akan memperkenalkan mekanisme cache peringkat pertama MyBatis secara terperinci dan menyediakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik.

Analisis mekanisme caching MyBatis: Perbezaan dan aplikasi cache peringkat pertama dan cache peringkat kedua Dalam rangka kerja MyBatis, caching ialah ciri yang sangat penting yang boleh meningkatkan prestasi operasi pangkalan data dengan berkesan. Antaranya, cache tahap pertama dan cache tahap kedua adalah dua mekanisme caching yang biasa digunakan dalam MyBatis. Artikel ini akan menganalisis perbezaan dan aplikasi cache peringkat pertama dan cache peringkat kedua secara terperinci, dan memberikan contoh kod khusus untuk digambarkan. 1. Cache Tahap 1 Cache tahap 1 juga dipanggil cache setempat Ia didayakan secara lalai dan tidak boleh dimatikan. Cache tahap pertama ialah SqlSes

MyBatisGenerator ialah alat penjanaan kod yang disediakan secara rasmi oleh MyBatis, yang boleh membantu pembangun menjana JavaBeans, antara muka Mapper dan fail pemetaan XML dengan pantas yang mematuhi struktur jadual pangkalan data. Dalam proses menggunakan MyBatisGenerator untuk penjanaan kod, penetapan parameter konfigurasi adalah penting. Artikel ini akan bermula dari perspektif parameter konfigurasi dan meneroka secara mendalam fungsi MyBatisGenerator.
