Mybatis 的输入参数学习
mybatis 的输入参数:
指得就是parameterType的参数 这个参数就代表的sql语句中的输入参数

sql语句中的参数使用 有两种方式 :
使用#{} 获取: 8个基本数据类型 + String 类型 都可以随意起名 比如 #{aaa} 当然不推荐 最好写的规范一些
select * from where stuno = #{id} 这个id只是随意起的名字
引用数据类型 就要写 实体类中的名字 比如 我实体类中有一个属性 private Sting stuno; 那么应该写 #{stuno} 不能瞎写
select * from where stuno= #{stuno}
使用${} 获取 8个基本数据类型 + String 类型 必须写${value} 必须是这个 不能更改 (普通的查询不推荐使用$()形式)
select * from where stuno = ${value} 必须这样写
引用数据类型跟#{} 的使用一样 必须写实体类中规定的属性
select * from where stuno= ${stuno}
模糊查询,方式一: 测试类
select stuno,stuname,stuage from student where stuage= #{stuAge} or stuname like #{stuName}
Student student = new Student();
student.setStuAge(24);
student.setStuName("%w%");
List<Student> students = studentMapper.queryStudentBystuageOrstuName(student) ;//接口的方法->SQL
模糊查询,方式二: xml中
select stuno,stuname,stuage from student where stuage= #{stuAge} or stuname like '%${stuName}%'
#{}自动给String类型加上'' (自动类型转换)
${} 原样输出,但是适合于 动态排序(动态字段)
简单介绍下parameterType中"复杂"的输入参数:
i: hasMap 类型 :parameterType的属性值填写HashMap sql语句中可以的名字没有要求


测试的时候 key的值需要跟sql语句中的对应
ii:嵌套对象的查询;
我的数据中Studen表有两个地址,分别是学校地址跟家庭地址 我的实体类Student类 只有一个 private Address address; 我的Address类中有 两个属性 学校地址跟家庭地址
看图:
Student类

Student表:

Address类:

StudentMapper.xml 我的输入参数为对象类型 我就可以使用对象属性.另一个属性
address.stu_shcooladdress
(Student内的属性). (Address中的属性)

测试类:

Mybatis 的输入参数学习的更多相关文章
- python获取输入参数
python获取输入参数 学习了:https://www.cnblogs.com/angelatian/p/5832448.html import sys模块: len(sys.argv)参数个数 s ...
- python 3.4读取输入参数
python 3.4读取输入参数 学习了:https://blog.csdn.net/qq_24815615/article/details/52302615 注意,sys.args[0]是pytho ...
- Mybatis 学习---${ }与#{ }获取输入参数的区别、Foreach的用法
一.Mybatis中用#{}和${}获取输入参数的区别 1.“#{}“和“${}”都可以从接口输入中的map对象或者pojo对象中获取输入的参数值.例如 <mapper namespace=&q ...
- Mybatis学习笔记——输入参数parameterType、Mybatis调用存储过程
输入参数:parameterType(两种取值符号) 1.类型为简单类型 区别: (1) #{可以为任意值} ${vaue}--->标识符只能是value (2) ...
- Mybatis框架四:输入参数、输出参数
输入参数可以有三种:简单类型,POJO,包装类 关于前两种: http://www.cnblogs.com/xuyiqing/p/8600888.html 这里写一下传递包装类参数: 一个POJO:U ...
- JavaWeb_(Mybatis框架)输入和输出参数_五
系列博文: JavaWeb_(Mybatis框架)JDBC操作数据库和Mybatis框架操作数据库区别_一 传送门 JavaWeb_(Mybatis框架)使用Mybatis对表进行增.删.改.查操作_ ...
- GO学习笔记 - 函数名前面是否有输入参数肯定是不一样的!!
在刚接触GO语言时候,我相信你也会有这种困惑,为什么有的函数名前面有输入参数,而一些却没有,它们是否有差别?确实有差别,没有输入参数,是一般的函数:有输入参数,是结构的方法,输入参数叫做“方法接收者” ...
- PlaNet,使用图像输入来学习世界模型
Google AI团队与DeepMind合作,上周宣布了一个名为PlaNet的新的开源“Deep Planning”网络. PlaNet是一个人工智能代理,它只使用图像输入来学习世界模型,并使用这些模 ...
- MyBatis中传入参数parameterType类型详解
前言 Mybatis的Mapper文件中的select.insert.update.delete元素中有一个parameterType属性,用于对应的mapper接口方法接受的参数类型.本文主要给大家 ...
随机推荐
- 跟我学算法-opencv加载,修改,保存
#include<opencv2/opencv.hpp> #include<iostream> #include<math.h> using namespace c ...
- 【Directshow】IFilterGraph::AddFilter方法参数问题<转>
看dx里dshow的例子和别人的程序,用IFilterGraph::AddFilter()这个API添加filter到Graph的时候,第二个参数是一个设备友好名称: 我看有的填的是通过IProper ...
- 迷你MVVM框架 avalonjs 0.92发布
本版本最大的改进是引入ms-class的新风格支持,以前的不支持大写类名及多个类名同时操作,新风格支持了.还有对2维监控数组的支持.并着手修复UI框架. 重构 class, hover, active ...
- Selenium+TestNG+Maven 搭建
Java环境配置 Eclipse配置TestNG Eclipse配置Maven pom.xml文件相关配置,添加依赖selenium和TestNg的jar包 <!-- https://mvnre ...
- java替换特殊字符串
开始想到String.replaceFirst(regex, replacement)和String.replaceAll(regex, replacement); 但特殊字符没替换成功. 用法:St ...
- war项目部署流程
准备: 1安装jdk1.7及以上版本 2安装tomcat7及以上版本 到%tomcat%/bin目录下记事本编辑server.xml, 配置<Connector>元素port端口,及< ...
- zabbix监控阅读目录
一.zabbix安装 点击查看:http://www.cnblogs.com/hwlong/p/5820321.html 二.解决乱码问题 点击查看:http://www.cnblogs.com/hw ...
- netstat/lsof
netstat/lsof netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况 -a 显示一个所有的有效连接信息列表(包括已建立的连接,也 ...
- mybatis Generator 生成配置文件
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE generatorConfiguration ...
- 1 web应用-http协议-web框架
web 应用 Web 应用程序是一种可以通过 Web 访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件.应用程序有两种模式 C/S.B/S.C/S ...