mybatis-210719-01---映射文件_select_返回List&记录封装map

Mit6.S081-实验1-Xv6 and Unix utilities Mit6.S081-实验1-Xv6 and Unix utilities前言一、Boot xv61,实验目的2,操作流程1)切换到xv6-labs-2020代码库的lab1分支2)启动xv63)测试xv64)过程分析5)其他操作二、在xv6中添加一个自己编写的程序1,源码准备2,编译配置3,测试添加程序4,过程分析三、xv6中shell简析 前言 一、Boot xv6 1,实验目的 利用qemu启动xv6 2,操作流程 1)切换到xv6-labs-2020代码库的lab1分支 git checkout ut 阅读详情

mybatis-210719-01—映射文件_select_返回List&记录封装map


返回List

EmployeeMapper.java

package com.bgy.mybatis.dao;
import java.util.List;
import java.util.Map;
import org.apache.ibatis.annotations.Param;
import com.bgy.mybatis.bean.Employee;

public interface EmployeeMapper {
	public List<Employee> getEmpByLastNameLike(String lastName);
}

EmployeeMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bgy.mybatis.dao.EmployeeMapper">
	<!--  -->
	<select id="getEmpByLastNameLike" resultType="com.bgy.mybatis.bean.Employee">
    select 
    	id,last_name,gender,email
    from
    	tbl_employee 
    where 
    	last_name like #{lastName}
  </select>
</mapper>

MybatisTest.java

package com.bgy.mybatis.test;

import static org.junit.jupiter.api.Assertions.*;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.jupiter.api.Test;
import com.bgy.mybatis.bean.Employee;
import com.bgy.mybatis.dao.EmployeeMapper;

class MybatisTest {
	
	public SqlSessionFactory getSqlSessionFactory() throws IOException {
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		return new SqlSessionFactoryBuilder().build(inputStream);
	}

	/**
	 * 测试select返回一个List集合
	 * @throws IOException
	 */
	@Test
	public void test03() throws IOException{
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		SqlSession sqlSession = sqlSessionFactory.openSession();
		
		try {
			EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);
			
			List<Employee> employees = mapper.getEmpByLastNameLike("%zhang%");
			for (Employee e : employees) {
				System.out.println(e);
			}
		} finally {
			sqlSession.close();
		}
	}
}


记录封装map

EmployeeMapper.java

package com.bgy.mybatis.dao;

import java.util.Map;
import org.apache.ibatis.annotations.MapKey;
import com.bgy.mybatis.bean.Employee;

public interface EmployeeMapper {
    
	// 返回一条记录的map,key就是列明,值就是对应的值
	public Map<String,Object> getEmpByIdTurnMap(Integer id);
	
	
	// 多条记录封装一个map,Map<Integer,Employee>
	// 键是这条记录的主键,值是记录封装后的JavaBean对象
	// 告诉mybatis封装这个map的时候使用哪个属性作为map的key
//	@MapKey("id")
	@MapKey("lastName")
	public Map<Integer,Employee> getEmpByLastNameLikeReturnMap(String lastName);
}

EmployeeMapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bgy.mybatis.dao.EmployeeMapper">
	<!-- 返回一条记录的map -->
	<select id="getEmpByIdTurnMap" resultType="map">
    select 
    	*
    from
    	tbl_employee 
    where 
    	id=#{id}
  </select>
  
  <!-- 多条记录封装一个map -->
  <select id="getEmpByLastNameLikeReturnMap" resultType="com.bgy.mybatis.bean.Employee">
  	select * from tbl_employee where last_name like #{lastName}
  </select>
</mapper>

MybatisTest.java

package com.bgy.mybatis.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.Map;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.jupiter.api.Test;
import com.bgy.mybatis.bean.Employee;
import com.bgy.mybatis.dao.EmployeeMapper;

class MybatisTest {
	
	public SqlSessionFactory getSqlSessionFactory() throws IOException {
		String resource = "mybatis-config.xml";
		InputStream inputStream = Resources.getResourceAsStream(resource);
		return new SqlSessionFactoryBuilder().build(inputStream);
	}

	/**
	 * 测试select,记录封装map
	 * @throws IOException
	 */
	@Test
	public void test03() throws IOException{
		SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
		
		SqlSession sqlSession = sqlSessionFactory.openSession();
		
		try {
			EmployeeMapper mapper = sqlSession.getMapper(EmployeeMapper.class);
			
			// 返回一条记录的map
//			Map<String,Object> map = mapper.getEmpByIdTurnMap(1);
//			System.out.println(map);
			
			// 多条记录封装一个map
			Map<Integer,Employee> map = mapper.getEmpByLastNameLikeReturnMap("%g%");
			System.out.println(map);
		} finally {
			sqlSession.close();
		}
	}
}
机器学习预测土壤养分:从电导率、pH到随机森林与神经网络的农业实践 在智慧农业与精准农业领域,机器学习已成为处理复杂农业数据、挖掘潜在规律的关键技术。其核心原理在于通过算法从多维数据中自动学习特征与目标变量之间的映射关系,尤其擅长捕捉非线性关联。这项技术的核心价值在于能够将传统上依赖昂贵、耗时实验室分析的问题(如土壤养分检测),转化为基于易获取传感器数据(如电导率、pH值)的快速、低成本预测任务,为农业生产的实时决策与资源优化提供了全新可能。其典型应用场景包括作物生长监测、产量预测以及精准施肥管理等。本文聚焦于利用随机森林和神经网络等回归算法,构建通过土壤物理参数预测氮磷钾 阅读详情

相关推荐

光猫桥接后网速不升反降?可能是你的路由器在“偷懒”!

本文详细分析了光猫桥接后网速不升反降的常见原因,包括路由器性能不足、MTU/MSS值设置错误等,并提供了四个关键排查步骤和路由器选购指南。通过优化PPPoE拨号设置和硬件配置,帮助用户解决网速下降问题,提升家庭网络性能。

hqmln的博客 612

通用mapper如何处理多表条件查询通过list封装(强烈不推荐)(一对一,一对多)

一、思路1:在service封装通过list的组合,强烈不建议,有性能问题,例如: @Autowired private StudentDao studentDao; @Autowired private Stu_labelDao stu_labelDao; @Autowired private CityDao cityDao; @Autowire...

热水钟博客 1481

【UE5 C++开发指南】从零配置Visual Studio 2022开发环境

本文详细指导如何从零开始为UE5 C++开发配置Visual Studio 2022环境。文章强调了VS2022与UE5的深度兼容性,并逐步讲解了社区版下载、核心工作负载(如“使用C++的游戏开发”)与组件安装、界面优化、专属工具设置以及首个C++项目的创建与验证流程,帮助开发者高效搭建专业开发环境。

weixin_29016865的博客 393

2021-11-16学习记录 浅析mybatis中mapper代理类执行select的方式

准备一个测试方法 SqlSession sqlSession = sqlSessionFactory.openSession(); testMapper mapper = sqlSession.getMapper(testMapper.class); List&lt;User> admin = mapper.selectUserByName("test1"); 进入selectUserByName()方法; 进入到了MapperProxy.class中 p

weixin_48680790的博客 1893

【已解决】Claude应用地区限制问题:通过Slack注册与魔法节点切换实战指南

本文详细介绍了如何通过Slack注册和切换魔法节点解决Claude应用地区限制问题。从Slack账号注册、创建工作区技巧,到突破地区限制的关键步骤和成功后的配置使用,提供了全面的实战指南。特别强调了节点选择和网络环境对解决'App unavailable'错误的重要性,帮助用户顺利使用Claude AI助手。

weixin_29209801的博客 1759

ANSYS APDL 异类单元连接实战:MPC方法在壳-实体装配中的应用

本文详细介绍了在ANSYS APDL中使用MPC方法实现壳单元与实体单元高效连接的技术要点。通过分析工程仿真中的常见需求,阐述了MPC方法在解决异类单元连接问题上的优势,包括网格独立性、自由度耦合和载荷传递等特性,并提供了具体的APDL命令流操作示例和实用经验技巧。

weixin_33391446的博客 178

MyBatis关联查询、多条件查询

MyBatis关联查询、多条件查询 1、一对一查询 任务需求; 根据班级的信息查询出教师的相关信息 1、数据库表的设计 班级表: 教师表: 2、实体类的设计 班级...

weixin_33901926的博客 1093

AI技术在电商中的实际应用

人工智能、电商、推荐系统、个性化、机器学习、深度学习 1. 背景介绍 电子商务行业近年来发展迅速,用户数量不断增长,商品种类日益丰富。然而,随着市场竞争的加剧,电商平台面临着如何提升用户体验、提高转化率、挖掘潜在商机等一系列挑战。人工智能(AI)技术作为一种新兴技术,凭借其强大的数

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1740

mybatis中传入一个List或Map集合作为查询条件的参数

入参为List的写法: Mapper 文件的写法: <select id="queryParamList" resultType="map" parameterType="java.util.List"> select id from static where id in <foreach collection="list" index="index" item="i...

远方 1万+

双端之Nginx+Php结合PostgreSQL搭建Wordpress

制作的 PG4WP 分支版本,它与所有版本的 WordPress 兼容,解决了原版的一些问题。参数,确保 PostgreSQL 正在监听默认端口(通常是 5432),或者你自定义的端口。:PG4WP 插件存在缺陷和不完整的功能,可能与最新版本的 WordPress 不兼容。的插件,它允许 WordPress 使用 PostgreSQL 数据库。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。,如果看到 Nginx 的默认欢迎页面,说明 Nginx 已正确安装。

宇宙第一小趴菜的博客 1891

仿真学习系列(四十三):Sigrity仿真之平面谐振分析

在 SIGRITY 中,平面谐振分析(Plane Resonance Analysis)是一种用于分析信号完整性(SI)问题的高级仿真方法,尤其关注于层间电磁波的传播、谐振现象和信号衰减等问题。平面谐振分析通常用于电源分配网络(PDN)、信号线和参考平面之间的相互作用。本文将详细介绍如何在 SIGRITY 中进行平面谐振分析,并提供一些实用的分析方法与步骤,帮助工程师们识别和优化可能存在的设计问题。

案例文章,高速信号 480

mybaits八:select查询返回map集合

返回一条纪录的map package com.atChina.dao; import java.util.List; import java.util.Map; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; import com.atChina.bean.E...

m0_37564426的博客 3040

Burpsuite 使用教程

Burpsuite 使用教程

xiongIT的博客 8210

Mybatis的mapper标签 namespace属性说明

在mybatis中,映射文件中的namespace是用于绑定Dao接口的,即面向接口编程。当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动帮你找到对应要执行的SQL语句,如下:假设定义了IArticeDAO接口public interface IArticleDAO { List<Article> selectAllArticle(); } 对于映射文

hugh 的博客 8万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

mapper中的List和Map集合以及now()使用

 1.将javaBean转化为HashMap public PageRet&lt;BusiOpenRecordEntity&gt; getLittleOpenRecords(BusiOpenRecordVo busiOpenRecordVo) {         PageRet&lt;BusiOpenRecordEntity&gt; pageResult = new PageRet&lt;Bu...

慕容的博客 6535

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

MyBatis查询结果封装成List

1.reslutType写List里面的元素类型,而不是List本身。

m0_67401606的博客 1532

Mybatis查询结果返回Map、List

当查询结果为单条记录时,可采用如下方式:&lt;select id="findUserResultMap" parameterType="int" resultType="java.util.HashMap"&gt;     SELECT id, username, age FROM user WHERE id = #{id} &lt;/select&gt;返回的Map key为字段名,valu...

Hot__Coffee的博客 9623

mybatis的mapper.xml中select标签中的parameterType属性

SqlSession的selectList()与selcetOne()的第二个参数和selectMap()的第三个参数都表示方法的参数 代码如下 Flower flower = session.selectOne(&quot;com.bjsxt.mapper.FlowerMapper.selById&quot;,1); System.out.println(flower); mapper.xml文件配置如下 &amp;lt...

qq_40392686的博客 1万+

mybatis-210721-02---动态sql-trim自定义字符串截取

mybatis-210721-02—动态sql-trim自定义字符串截取 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import com.bgy.mybatis.bean.Employee; public interface EmployeeMapper { publ

白光一的博客 1612

mybatis-210721-01---动态sql-if判断&where查询条件

mybatis-210721-01—动态sql-if判断&where查询条件.md if_判断 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿) MybatisTest.javawhere where查询条件 EmployeeMapper.xml(笔记在这儿)(where)(1=1) EmployeeMapper.xml(笔记在这儿)(where标签) if_判断 EmployeeMapper.java package com.bgy.my

白光一的博客 510

mybatis-210721-05---动态sql-foreach遍历集合

mybatis-210721-05—动态sql-foreach遍历集合 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java 查询 id在集合中 的员工 EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import org.apache.ibatis.annotations.Param; import com.bgy.myb

白光一的博客 361

mybatis-210721-04---动态sql-set与if结合的动态更新

mybatis-210721-04—动态sql-set与if结合的动态更新 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java <!-- 更新员工 要求: 携带了那个字段,更新哪个字段 --> EmployeeMapper.java package com.bgy.mybatis.dao; import com.bgy.mybatis.bean.Employee; public interfa

白光一的博客 308

mybatis-210721-08---动态sql-sql标签抽取可重用的sql

mybatis-210721-08—动态sql-sql标签抽取可重用的sql EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java EmployeeMapper.java package com.bgy.mybatis.dao; import com.bgy.mybatis.bean.Employee; public interface EmployeeMapper { public void insertEmps(Em

白光一的博客 249

mybatis-210721-07---动态sql-内置参数_parameter_databaseId&bind使用

mybatis-210721-07—动态sql-内置参数_parameter_databaseId&bind EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import com.bgy.mybatis.bean.Employee; public interface E

白光一的博客 236

mybatis-210720-03---映射文件_select_resultMap_分步查询传递多列值&fetchType

mybatis-210720-03—映射文件_select_resultMap_分步查询传递多列值&fetchType.md DepartmentMapper.java DepartmentMapper.xml(笔记在这儿) EmployeeMapper.java EmployeeMapper.xml MybatisTest.java <!-- 场景2 查询部门的时候,把对应所有的员工信息查询出来 --> DepartmentMapper.java package co

白光一的博客 220

mybatis-210720-01---映射文件_select_resultMap_collection定义关联集合封装

mybatis-210720-01—映射文件_select_resultMap_collection定义关联集合封装.md DepartmentMapper.java DepartmentMapper.xml(笔记在这儿) EmployeeMapper.java EmployeeMapper.xml MybatisTest.java Department.java Employee.java <!-- 场景2 查询部门的时候,把对应所有的员工信息查询出来 --> Departm

白光一的博客 206

mybatis-210721-03---动态sql-choose分支选择

mybatis-210721-03—动态sql-choose分支选择 EmployeeMapper.java EmployeeMapper.xml(笔记在这儿哦) MybatisTest.java <!-- 查询员工 要求: 携带了那个字段,查询条件就带上这个字段的值 --> EmployeeMapper.java package com.bgy.mybatis.dao; import java.util.List; import com.bgy.mybatis.bea

白光一的博客 206
上一篇: mybatis-210718-04---映射文件_参数处理_取值_#&$
下一篇: mybatis-210719-02---映射文件_select_resultMap_自定义结果映射
白光一
博客等级 码龄9年 0粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值