首页 > 其他分享 >Mybatis入门(select标签)

Mybatis入门(select标签)

时间:2023-09-13 11:07:06浏览次数:57  
标签:java 自定义 标签 数据类型 statement Mybatis select 属性

MyBatis 本是apache的一个开源项目iBatis,MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注SQL本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。

Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。 Mybatis是目前最常用的框架之一,因为比起jpa,他更加灵活,可以很容易的实现复杂sql的操作,入门使用大家可以去看一些教程视频,这里不做讲解,这里介绍一些常用的标签,目前最常用的标签有,,分别对应增删查改四个操作,也是完成项目crud的基础操作,不过除了外层大的标签,还会有子标签,亦或者是标签属性要配置,因为很多时候我们需要做一对多,多对多的操作等,拿最常用的的标签属性来看:

Mybatis入门(select标签)_数据类型

虽然比较多,但实际上常用的只有前四个,这里介绍下常用的四个属性,其他的属性大家可以看下文档介绍自己尝试。

id:在命名空间唯一的标识,可以被用来引用这条语句(实际使用时保证id的值与mapper.java 中方法名一致)

parameterType:不是必须的,如果没有入参就不需要,如果有入参就用来表示传入的参数类型,可以是Integer,String等java的数据类型,也可以是自定义的Person,User等数据类型,还可以是List,Map集合等

resultType:这个和parameterType相对,这个表示返回的数据类型,同样不是必须的,也同样可以是Integer,String,还可以是自定义类型Person,User或者是List和Map集合,

resultMap:这个就比较独特了,一般在自定义映射的时候会用到,与<resultMap>标签合用,如果你返回的数据不是Integer,也不是自定义的Person,也不是List集合,这里就可以使用<resultMap>自定义返回的类型,并将resultMap的值设置为<resultMap>标签的id,(此属性不能和resultType同时存在)

这里展示一个根据id查询数据的例子,传入的参数用parameterType="Long",表示传入参数的类型,resultMap="RcsCurrentTaskDetailResult"表示返回的数据类型,

Mybatis入门(select标签)_java_02

要注意的是上面的返回数据类型需要将java中类属性映射到数据库的表字段中,如图

Mybatis入门(select标签)_select标签_03

这样就能将有区别的类属性和表字段一一对应起来。

好了,select标签的用法基本就这些,下节讲select标签下的多种情况的入参,包括集合,Map等

标签:java,自定义,标签,数据类型,statement,Mybatis,select,属性
From: https://blog.51cto.com/BakerZhuang/7452507

相关文章

  • SpringBoot+Mybatis三级查询
    一、概述现有一个需求:查询视频详情。对应三张表,视频表、章节列表、集列表。一个视频对应多个章节,一个章节对应多集视频。请根据视频id查询视频详情,并把视频的章节列表,章节中的集列表都带出来。SpringBoot和MyBatis-plus说明:<!--根模块继承了SpringBoot,子模块也跟着继......
  • web前端入门到实战:HTML5基础-新增标签+新增属性+布局案例
    html5中常用的结构标签article文章header头部nav导航section区域aside侧边栏hgroup区块的相关信息figure定义一组内容及标题figcaption定义figure元素的标题footer底部dialog对话框使用习惯:header/section/footer>aside/articl......
  • 面试题:Mybatis中的#{}和${}有什么区别?这是我见过最好的回答
    面试题:Mybatis中的#{}和${}有什么区别?前言今天来分享一道比较好的面试题,“Mybatis中的#{}和${}有什么区别?”。对于这个问题,我们一起看看考察点和比较好的回答吧!题,看看普通人考察点mybatis是现在企业级开发中经常使用的数据持久层框架,这个问题就是面试官想考察我们对#{},${}......
  • mybatis
    mybatismybatis是一款优秀的持久层框架MyBatis免除了几乎所有的JDBC代码以及设置参数和获取结果集的工作MyBatis可以通过简单的XML或注解来配置和映射原始类型、接口和JavaPOJO(PlainOldJavaObjects,普通老式Java对象)为数据库中的记录。持久层Dao层,Service层,Cont......
  • 使用mybatis进行批量添加与批量删除
    2023-09-12 StoreHouseMapper/***批量添加*/voidinsertMoreSH(@Param("storeHouses")List<StoreHouse>storeHouses);/***批量删除方式一*/voiddeleteMoreSH(@Param("ids")Integer[]ids);/***......
  • ClickHouse使用之四 ——外部数据源导入通用方案之insert into select from
    需求:1、在工作中,我们常常需要将外部hive或者mysql、oracle等数据源导入到clickhouse中,对于多种外部数据源,是否有通用的数据导入方案?2、我们在clickhouse上维持一张查询主表,但外部数据源表是hive增量表,新增数据需要同步更新到clickhouse上,是否有不通过第三方组件的插入方式......
  • MyBatisPlus插件访问不到云数据库的解决方案
      今天在学mybatis-plus时候了解到除了MybatisX插件外还有个大佬写的MyBatisPlus插件,个人感觉他默认自动生成代码的风格会比MybatisX插件更适合中国程序员,跳转的图标也比小鸟更合适。  但是在连接云数据库的时候出了问题,发现他根本连接不到云数据库,问了其他人,他们表示自己的......
  • mybatis中的多表联查(第一步先通过仓库的id获取仓库数据,第二部通过在仓库数据中包含的
    2023-09-12仓库StoreHouseMapper/***分步查询*首先通过仓库的id查询出仓库*/StoreHousegetSHAndGoodsByStepOne(@Param("id")Integerid);StoreHouseMapper.xml<resultMapid="getSHAndGoodsByStepOneRM"type="StoreHouse&q......
  • mybaits生成类的工具MyBatis Generator
    MyBatis生成类的工具MyBatisGenerator,是一种非常有用的工具,它可以帮助开发者快速生成Java代码,从而提高开发效率。在本文中,我们将介绍MyBatis生成类的基本概念、使用方法和注意事项。MyBatisGenerator是什么?MyBatisGenerator是MyBatis官方提供的一个代码生成工具,可以根据数据库......
  • select 机制
    select机制9/100发布文章wuyiyu_未选择文件APP访问硬件的4种方式:查询,休眠-唤醒,poll方式,异步通知。这篇文章会详细为大家讲解select机制的使用。@TOC一、POLL/SELECT方式的功能:SELECT机制、POLL机制是完全一样的,只是APP接口函数不一样。在调用poll,select函数时......