栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MyBatis中通过Map进行查询时

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MyBatis中通过Map进行查询时

  1. 单条查询时:

首先我们需要确定我们Student对应的属性,并且给对应的属性get和set方法,无参有参构造方法,并且重写他的toString方法

package com.cmj.entity;

public class Student {
	private int id;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	private String name;
	private int age;
	private String no;
	private String userClass;
	public String getUserClass() {
		return userClass;
	}
	public void setUserClass(String userClass) {
		this.userClass = userClass;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getNo() {
		return no;
	}
	public void setNo(String no) {
		this.no = no;
	}
	@Override
	public String toString() {
		return "Student [id=" + id + ", name=" + name + ", age=" + age + ", no=" + no + ", userClass=" + userClass
				+ "]";
	}
}

在StudentMapper中进行对应的配置

public Map selectByIdMap(@Param("no") String no);

在StudentMappe.java中对应的key与value,我们可以确认我们的key一般为String类型,如果说value无法确认类型,可以通过object来定义;就是后续可以为任何的类型

StudentMappe.xml中的配置:


		select * from `student` where name like #{name}

这块一般相对比较简单

测试类中我们进行对应的编写

@Test
	public void selectByNameMap() throws IOException {
		SqlSession session=getFactory().openSession();
		StudentMapper mapper =session.getMapper(StudentMapper.class);		
		Map selectByNameMap = mapper.selectByNameMap("%小%");
		System.out.println(selectByNameMap);
	}

这边插到我们的SQL语句中,就是将名字中含有小字的名单全部筛选出来,并且通过名字作为主键输出

  1. 表中出现联表内容的时,需要进行联表查询时

在学生类中,我们需要定义一个dept的类,获得这个类的属性

private String name;
	private int age;
	private String no;
	private String userClass;
	private Dept dept;

在dept中定义dept相关的属性值

public class Dept {
	private int id;
	private String name

并且生成对应的get和set方法、无参与有参的构造方法、重写他的toString的方法

在StudentMapper中写他的接口:

public Student selectByReturnMap (@Param("no") String no);

在对应的XML文档中进行接口的映射编写


	
	
	
	
	
	
	
	
	
	

下方的resultMap与上方的id需要相匹配,映射至上方;type为本次输出的类型,为student这个类

在这前半部分为对应student表中的列名内容所以无需做太多的处理

后半部分这些,是student与dept表中相关联部分,

我们需要生成时,把对应的表列名进行重新定义为dept_id,而这个id是通过dept.id获得(就是dept这张表中的id字段)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/445744.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号