parameterType传入参数实体类和map有什么区别?
一、parameterType传入参数实体类和map的区别
parameterType将查询结果集中的列一一映射到java对象的各个属性上去,此处的这个映射关系,是根据用户在“:parameterType”的子标签中的配置来决定的,灵活多变,常用于多表查询以及查询时使用别名的情况。
parameterType直接将查询结果列值类型自动对应到java对象属性类型上,不再配置映射关系一一对应。
这里在提下#{}和${}的使用区别:
例子如下:
Select ID,COMMAND from Message where COMMAND=#{command}
Select ID,COMMAND from Message where COMMAND=‘${command}’
前者解析为:
Select ID,COMMAND from Message where COMMAND=?具有预编译效果
后者解析为:
Select ID,COMMAND from Message where COMMAND=段子 不具有预编译效果
延伸阅读:
二、 什么是Mybatis
Mybatis是一款优异的持久层框架。它支持定制化SQL、存储过程以及高级映射。Mybatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。Mybatis可以使用简单的XML或注解来配置和映射原生类型、接口和Java的POJO(Plain Old Java Object,普通老式Java对象)为数据库中的记录。Mybatis本是Apache的一个开源项目Ibatis,2010年这个项目由Apache software foundation迁移到了Google Code,并改名为Mybatis。2013年11月迁移到Github。持久化是将程序数据在持久状态和瞬时状态间转换的机制。
即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的对象存储在数据库中,或者存储在磁盘文件中、XML数据文件中等等。JDBC就是一种持久化机制。文件IO也是一种持久化机制。在生活中 : 将鲜肉冷藏,吃的时候再解冻的方法也是。将水果做成罐头的方法也是。为什么需要持久化服务呢?那是由于内存本身的缺陷引起的
内存断电后数据会丢失,但有一些对象是无论如何都不能丢失的,比如银行账号等,遗憾的是,人们还无法保证内存永不掉电。内存过于昂贵,与硬盘、光盘等外存相比,内存的价格要高2~3个数量级,而且维持成本也高,至少需要一直供电吧。所以即使对象不需要永久保存,也会因为内存的容量限制不能一直呆在内存中,需要持久化来缓存到外存。
相关推荐HOT
更多>>
a记录和cname记录区别?
一、a记录和cname记录区别a记录A 记录用来记录域名对应的 IP 地址,下主机记录是域名前缀,记录值是 IP 地址,其他无需修改。主域名的主机记录...详情>>
2023-10-13 16:46:07
amd显卡和gtx显卡区别?
一、amd显卡和gtx显卡区别区别A卡:也就是AMD显卡,以前叫ATI显卡,后来被AMD收购以后AMD也是全球少数一个即生产高端CPU又生产高端GPU的厂家。...详情>>
2023-10-11 22:44:04
二进制、八进制、十进制和十六进制有什么区别?
一、二进制、八进制、十进制和十六进制的区别二进制、八进制、十进制和十六进制都是数字表示方式,但它们之间有一些区别。二进制:二进制是一种...详情>>
2023-10-11 21:40:36
二进制、八进制、十进制和十六进制有什么区别?
一、二进制、八进制、十进制和十六进制的区别二进制、八进制、十进制和十六进制都是数字表示方式,但它们之间有一些区别。二进制:二进制是一种...详情>>
2023-10-11 16:56:09