05.MyBtais两种取值符号以及输入参数和输出参数

输入参数:parameterType 两种取值符号的异同

1.类型为简单类型(8个基本类型+string)

不同点:

a.#{任意值},${value} 其中的标识符只能是value

b. #{}自动给String类型加上单引号(‘’) (自动类型转换)

  ${} 原样输出,适合于动态排序 (动态字段)

c.#{}可以防止sql注入

 ${}不防止sql注入

相同点:

都可以获取对象的值或者嵌套对象的值

2.类型为对象类型:

#{属性名}     ${属性名}

 

输出参数:ResultType和ResultMap


在属性名和字段名不一致时的解决办法:

1.使用ResultMap:

 1   <select id="queryStudentById" parameterType="int" resultMap="student1">
 2     select * from student where sid = #{sid}
 3   </select>
 4   <resultMap type="student" id="student1">
 5       <id property="sid" column="sid" />
 6       <result property="sname" column="sname" />
 7       <result property="age" column="age" />
 8       <result property="sex" column="sex" />
 9       <association property="address" javaType="address">
10           <result property="homeAddress" column="homeaddress" />
11           <result property="schoolAddress" column="schooladdress" />
12       </association>
13   </resultMap>

2.使用ResultType + HashMap解决:

1  <insert id="insertStudentWithHashMap" parameterType="HashMap">
2           insert into student (sname,age,sex,homeaddress,schooladdress) value (#{sname},#{age},#{sex},#{homeaddress},#{schooladdress})
3   </insert>
1 Map<String, Object> map = new HashMap<String, Object>();
2 map.put("sname", "馒头");
3 map.put("age", 22);
4 map.put("sex", true);
5 map.put("homeaddress", "杭州");
6 map.put("schooladdress", "北京");
7 studentMapper.insertStudentWithHashMap(map);
1 //实体类  
    private int sno; 2 private String name; 3 private int age; 4 private Boolean sex; 5 private Address address;

 

转载于:https://www.cnblogs.com/man-tou/p/11336592.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论人工智能历史、现状与未来发展战略

来源&#xff1a;《学术前沿》作者&#xff1a;郭毅可人工智能问世60多年来&#xff0c;承载着人类对自己的智慧的无限自信。在这样的自信下&#xff0c;人工智能发展到了今天&#xff0c;人们在追求机器从事尽可能多的智力劳动的路上走得很快&#xff0c;也很远。今天人工智能…

PHP 开发者大会

PHPCON 2019 开发者大会(上海)2019.8.10-8-11 郭新华,和陈雷给我留下的影响很大 再看下天气,利奇马台风,都坐满了,来的都是真爱. Swoole 的韩天峰开始演讲,感觉是程序员标准的样子,哈哈哈 2345 的高旭 讲公司用swoole 的架构 鸟哥因为台风问题没来成,搞了个直播,哈哈哈,感觉很…

IEEE Fellow杨铮:打破「视觉」垄断,无线信号为 AI 开启「新感官」

来源&#xff1a;AI科技评论作者&#xff1a;陈彩娴编辑&#xff1a;岑峰2020年年初疫情刚开始时&#xff0c;清华大学的官方号曾祭出一篇题为《清华教师升级「十大神器」&#xff0c;上课力满格》的推文&#xff0c;讲述了软件学院某老师如何居家办公、探索出一套防止学生偷懒…

对于量子计算来说,99%的准确度足够吗?

UNIVERSITY OF NEW SOUTH WALES来源&#xff1a;IEEE电气电子工程师来自荷兰代尔夫特理工大学&#xff08;Delft University of Technology&#xff09;、日本理化学研究所&#xff08;Riken&#xff09;和悉尼新南威尔士大学&#xff08;UNSW&#xff09;的研究团队在硅中开发…

JavaScript每日学习日记(1)

8.11.2019 1. lastIndexOf() 方法从尾到头进行检索。 2. 有三种提取部分字符串的方法&#xff1a; 2.1 slice(start, end) 如果某个参数为负&#xff0c;则从字符串的结尾开始计数。如果省略第二个参数&#xff0c;则该方法将裁剪字符串的剩余部分。 2.2 substring(start, end…

人工智能将如何改变芯片设计

来源&#xff1a;ScienceAI编译&#xff1a;绿萝摩尔定律的终结正在逼近。工程师和设计师只能将晶体管小型化并尽可能多地封装到芯片中。因此&#xff0c;他们正在转向其他芯片设计方法&#xff0c;将 AI 等技术融入到设计过程中。例如&#xff0c;三星正在将人工智能添加到其内…

网络编程 总结

软件开发架构 c/s client/server b/s broswer/server ps:b/s本质上也是c/s架构 OSI七层协议 应用层 表示层 会话层 传输层 网络层 数据链路层 物理连接层 物理连接层 传输二进制的数据 数据链路层(以太网协议) 1.规定了二进制数据的分组依据 2.规定了每台计算机都必须有一块网…

计算机科学家证明,为什么更大的神经网络可以做得更好

来源&#xff1a;ScienceAI编辑&#xff1a;萝卜皮我们的物种很大程度上归功于对生的拇指。但如果进化给了我们额外的拇指&#xff0c;事情可能不会有太大改善。每只手一个拇指就足够了。神经网络并非如此&#xff0c;这是执行类人任务的领先人工智能系统。随着他们变得更大&am…

解决安装IIS时提示找不到zClientm.exe文件的问题

今天在安装IIS出现找不到zClientm.exe文件&#xff0c;还以为是下载IIS有问题&#xff0c;头大了。以下是解决方案。在组件安装向导中顺着[附件和工具]--[游戏]一路点击下去,惊喜地发现里面有一栏[Internet游戏]&#xff0c;把勾去掉&#xff0c;重新安装IIS就OK。但是有网友提…

生命,到底是什么?

来源&#xff1a;腾讯研究院作者&#xff1a;Mark A. Bedua译者&#xff1a;宋词、范星辰令人着迷的生命地球表面布满了生命&#xff0c;而且通常很容易辨认。猫、胡萝卜、细菌都是活的&#xff0c;桥、肥皂泡、沙粒都是死的。但众所周知&#xff0c;生物学家们却没有关于生命的…

MyBatis中SQL语句相关内容

MyBatis模糊查询 使用 ${...} 代替 #{...} SELECT * FROM tableName WHERE name LIKE %${text}%; 在MyBatis中写SQL语句时不等于用 <> 代替 <> 多个条件中的模糊查询 SELECT * FROM 表名 WHERE (字段1 <> "" 字段2 <> "") and (字…

2022图机器学习必读的11大研究趋势和方向: 微分方程/子图表示/图谱理论/非对称/动态性/鲁棒性/通用性/强化学习/图量子等...

来源&#xff1a;机器学习研究组订阅作者&#xff1a;Michael Bronstein 牛津大学DeepMind人工智能教授、Twitter图机器学习负责人编译&#xff1a;熊宇轩一、要点概述几何在机器学习中变得越来越重要。微分几何和同源场为机器学习研究引入了新的思想&#xff0c;包括利用了对…

day31 线程

01 进程间通信 """ 队列:先进先出 堆栈:先进后出 """ from multiprocessing import Queue q Queue(5) # 括号内可以传参数 表示的是这个队列的最大存储数 # 往队列中添加数据 q.put(1) q.put(2) print(q.full()) # 判断队列是否满了 q.put(3)…

06.动态SQL和foreach

动态sql: 映射文件代码: 1 <!-- 动态sql,根据名字和年龄查询,where标签会处理第一个and&#xff0c;其他位置的and不会自动处理 -->2 <select id"queryStudentByNameAndAge" parameterType"student" resultMap"student1">3 s…

机器学习理论基础到底有多可靠?

来源&#xff1a;机器学习算法与Python实战选自&#xff1a;aidancooper.co.uk 作者&#xff1a;Aidan Cooper编译&#xff1a;机器之心 知其然&#xff0c;知其所以然。机器学习领域近年的发展非常迅速&#xff0c;然而我们对机器学习理论的理解还很有限&#xff0c;有些模型…

07.MyBatis中的关联查询

关联查询&#xff1a; 一对一&#xff1a; 两种方式实现: 1.通过业务扩展的方式进行一对一查询&#xff0c;新建一个实体类&#xff0c;继承其中属性多的一个&#xff0c;然后写上另一个类中的属性&#xff1a; 实体类: 映射文件: 1 <!-- 业务扩展的方式进行一对一查询&…

黄仁勋回应放弃收购Arm:公司战略并没有太大改变

来源&#xff1a;网易智能2月21日消息&#xff0c;芯片巨头英伟达不久前公布了2022财年第四财季财报&#xff0c;显示其营收较上年同期猛增53%&#xff0c;游戏、数据中心和专业可视化市场平台也都实现了创纪录的收入。财报发布后&#xff0c;该公司首席执行官黄仁勋接受美国科…

20190423面试记录

1&#xff09;apply&#xff0c;call&#xff0c;bind的区别 &#xff1f; 应用场景&#xff1a;用于改变this的指向 apply接收两个参数&#xff0c;第一个函数this将指向的对象&#xff0c;第二个是数组函数接收的参数 call接收多个参数&#xff0c;第一个函数this将指向的对象…

无生命的AI算不上「智能」

来源&#xff1a;AI前线作者&#xff1a;Ben Dickson译者&#xff1a;王强策划&#xff1a;刘燕什么是智能&#xff1f;以非常快的速度解决复杂的数学问题就算智能吗&#xff1f;在国际象棋中击败世界冠军的力量算智能吗&#xff1f;分辨图像中数千个不同对象的能力算智能吗&am…

08.MyBatis整合Log4j

MyBatis整合Log4j&#xff1a; 1.导入log4j.jar 2.在conf.xml中开启日志文件: 1 <!-- 配置日志文件 --> 2 <settings> 3 <setting name"logImpl" value"LOG4J"/> 4 </settings> 如果不指定,MyBatis就会根据一下顺…