Mybatis总结--传参

MyBatis 传递参数: java 代码中把参数传递到 mapper.xml 文件

六、一个简单参数:

        Dao 接口中方法的参数只有一个简单类型( java 基本类型和 String ),
        占位符 #{ 任意字符 } ,和方法的参数名无关。

6.1、sql映射文件,StudentDao.xml:
<!--namespace:命名空间,唯一值 ,推荐使用:dao 接口的全限定名称 -->
<mapper namespace="com.lifang.dao.StudentDao">
    <!--
   <select>: 表示查询操作, 标签中必须是 select 语句
    1、id: sql语句自定义的名称,唯一值,要求使用dao接口的方法名
    2、resultType: 推荐使用类的全限定名称
 -->
    <select id = "selectStudentById" resultType = "com.lifang.domain.Student">
        select id,name,email,age from student where id = #{studentId}
        <!--由mybatis创建Student对象给属性赋值-->
    </select>
6.2、StudentDao接口:
public interface StudentDao {
    //查询Student表中的所有数据:
    public List<Student> selectStudents();
    public int insertStudent(Student student);
    public  Student selectStudentById(Integer id);
}
6.3、测试代码及结果:
 @org.junit.Test
    public void test03(){
      SqlSession sqlSession = MybatisUtils.getSqlSession();
      StudentDao dao = sqlSession.getMapper(StudentDao.class);
      Student s = dao.selectStudentById(1002);
      System.out.println(s);
    }

七、parameterType介绍

        思考:如何表示Dao接口方法的形参id是整型类型的呢?:

        parameterType: 接口中方法参数的类型, 类型的完全限定名或者是Mybatis定义的别名。这个属性是可选的,因为 MyBatis 可以通过反射机制推断出Dao接口参数的数据类型,所以可以没有,我们一般不写:

 <!--
        parameterType : dao接口中方法参数的数据类型。可以不写
        parameterType它的值是java的数据类型全限定名称或者是mybatis定义的别名
        例如 :   parameterType="java,lang.Integer
                parameterType="int
    -->
    <select id = "selectStudentById" parameterType ="int" resultType = "com.lifang.domain.Student">
        select id,name,email,age from student where id = #{studentId}
    </select>


    <select id = "selectStudentById" resultType = "com.lifang.domain.Student">
        select id,name,email,age from student where id = #{studentId}
    </select>

         别名不是我创建的 是mybatis创建的 在mybatis文档有说明 中文官网 英文手册上也有

        int 或 java.lang.Integer
        hashmap 或 java.util.HashMap
        list 或 java.util.ArrayList ......
        
        <select>,<insert>,<update>,<delete>都可以使用 parameterType 指定类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/408979.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑msvcp100.dll丢失了怎么办?msvcp100.dll丢失的5种解决方法

当计算机系统中无法找到msvcp100.dll文件&#xff0c;或者遭遇msvcp100.dll丢失的情况时&#xff0c;可能会引发一系列运行问题和功能障碍。msvcp100.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;这是一个至关重要的动态链接库文件&#xff0c;对于许…

如何利用EXCEL批量插入图片

目录 1.excel打开目标表格&#xff1b; 2.点开视图-宏-录制宏&#xff0c;可以改宏的名字或者选择默认&#xff1b; 3.然后点开视图-宏-查看宏 4.点编辑进去 5.修改代码&#xff1a; &#xff08;1&#xff09;打开之后会显示有一堆代码 &#xff08;2&#xff09;将这个…

【C++进阶】STL容器--list底层剖析(迭代器封装)

目录 前言 list的结构与框架 list迭代器 list的插入和删除 insert erase list析构函数和拷贝构造 析构函数 拷贝构造 赋值重载 迭代器拷贝构造、析构函数实现问题 const迭代器 思考 总结 前言 前边我们了解了list的一些使用及其注意事项&#xff0c;今天我们进一步深入…

132 Linux 系统编程9 ,IO操作,lseek 函数,truncate函数,查看文件的表示形式

一 lseek 函数 函数说明&#xff1a;此函数用于文件偏移 Linux中可使用系统函数lseek来修改文件偏移量(读写位置) 每个打开的文件都记录着当前读写位置&#xff0c;打开文件时读写位置是0&#xff0c;表示文件开头&#xff0c;通常读写多少个字节就会将读写位置往后移多少个字…

PixPin:一键搞定截图、长截图、贴图、GIF

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、什么是PixPin&#xff1f;①PixPin②核心功…

C语言每日一题(61)盛最多水的容器

题目链接 力扣 11 盛最多水的容器 题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水…

flet 读取本地音频文件的信息,歌名,歌手,歌曲长度,封面

请先安装 pip install flet, tinytag 组件 tinytag 是用来读取音频文件的信息的 测试用最好找一个有封面的音频的文件, 我是windows电脑,打开预览模式,选中文件时候能够右边显示图片, 如下,我电脑上某个音频文件的封面 import flet as ft from tinytag import TinyTag import…

全方位了解CRM系统:功能、种类和费用详细解说

尽管CRM已经横空出世20余年&#xff0c;但在国内普及率依旧不足20%。很多企业管理者、业务负责人对CRM是什么&#xff1f;CRM的作用、类型和价格等概念一头雾水。希望通过这篇文章深入浅出的讲解让大家对CRM管理软件从陌生到熟知。 一、CRM是什么&#xff1f; 什么是CRM&…

nginx高级配置详解

目录 一、网页的状态页 1、状态页的基本配置 2、搭配验证模块使用 3、结合白名单使用 二、nginx 第三方模块 1、echo模块 1.1 编译安装echo模块 1.2 配置echo模块 三、nginx变量 1、内置变量 2、自定义变量 四、自定义图标 五、自定义访问日志 1、自定义日志格式…

Informer:高效长序列时间序列预测模型(更新中)

文章行文思路&#xff1a; 目录 一、背景&#xff1a;1.时间序列介绍&#xff1a;2.LSTF介绍&#xff1a;3.Transformer与Informer的关系&#xff1a; 二、Transformer&#xff1a;1.Transformer简介&#xff1a;2.Transformer整体架构&#xff1a;3.模型输入&#xff1a;3.1第…

SSRF靶场实战

SSRF&#xff08;curl&#xff09; SSRF&#xff08;file_get_content&#xff09;

源代码管理——码云Gitee

目录 Git安装 Gitee配置SSH 源代码管理常规操作 1.idea配置git 2.常规操作 Git安装 安装Git是进行源代码管理的基本步骤之一。以下是在本地安装Git的通用步骤&#xff0c;适用于Windows系统&#xff1a; 下载Git安装程序: 访问Git官网的下载页面&#xff1a;Git官网下载地…

day16_ListSet课后练习题 - 参考答案

文章目录 day16_课后练习题第1题第2题第3题第4题第5题第6题第7题第8题 day16_课后练习题 第1题 案例&#xff1a; ​ 1、用一个String[]数组存点数 ​ 2、用一个String[]数组存花色 ​ 3、用一个String[]数组存大王、小王 ​ 4、用上面的数组&#xff0c;生成一副扑克牌 …

keepalived+HAProxy+MySQL双主实验

keepalivedHAProxyMySQL双主实验 环境准备 node1(HAProxy1):192.168.184.10 node2(HAProxy2):192.168.184.20 node3(MySQL1):192.168.184.30 node4(MySQL2):192.168.184.40 虚拟IP vip&#xff1a;192.168.184.100MySQL部署 在node3执行以下脚本&#xff1a; #!/bin/bash sy…

智能枪弹柜管理系统-智能枪弹管理系统DW-S306

随着社会的发展和治安形势的日益严峻&#xff0c;对于枪弹的管理变得尤为重要。传统的手工记录和存放方式已经无法满足现代化、高效化、安全化的需求。因此&#xff0c;智能枪弹柜管理系统应运而 生。 在建设万兆主干、千兆终端的监控专网的基础上&#xff0c;弹药库安全技术…

Web性能优化-详细讲解与实用方法-MDN文档学习笔记

Web性能优化 查看更多学习笔记&#xff1a;GitHub&#xff1a;LoveEmiliaForever MDN中文官网 性能优良的网站能够提高访问者留存和用户满意度&#xff0c;减少客户端和服务器之间传输的数据量可降低各方的成本 不同的业务目标和用户需求需要不同的性能度量&#xff0c;要提高…

LangChain Agent v0.2.0简明教程 (上)

快速入门指南 – LangChain中文网 langchain源码剖析系列课程 九天玩转Langchain! 1. LangChain是什么2. LangChain Expression Language (LCEL)Runnable 接口3. Model I/O3.1 Prompt Templates3.2 Language Model3.3 Output ParsersUse case(Q&A with RAG)1. LangChain…

我的128创作纪念日

目录 学习成长机遇个人数据一览榜单认可日常2024憧憬和规划创作纪念日总结 学习成长机遇 账号创建已经快9年了&#xff0c;以前一直在个人网站和简书上写文章&#xff0c;在CSDN真正写文竟然在2023年10月20&#xff0c;至今才128天&#xff0c;不过获得的数据还算可以&#xff…

力扣细节题:翻转二叉树

细节一&#xff1a;递归采用前序递归 细节二&#xff1a;采用交换节点而不是交换数据因为左右树交换的同时左右树的所有子节点都要交换 细节三&#xff1a;采用外置函数因为return如果在本函数内操作会存在必须返回空指针的问题 /*** Definition for a binary tree node.* s…

【MySQL面试复习】什么是聚簇索引(聚集索引)和非聚簇索引(二级索引)/什么是回表?

系列文章目录 在MySQL中&#xff0c;如何定位慢查询&#xff1f; 发现了某个SQL语句执行很慢&#xff0c;如何进行分析&#xff1f; 了解过索引吗&#xff1f;(索引的底层原理)/B 树和B树的区别是什么&#xff1f; 系列文章目录什么是聚簇索引&#xff08;聚集索引&#xff09…
最新文章