范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

MyBatisselect标签

  在 MyBatis 中,select 标签是最常用也是功能最强大的 SQL 语言,用于执行查询操作。
  select 示例语句如下。 123复制代码类型:[java]
  以上是一个 id 为 selectAllWebsite 的映射语句,参数类型为 string,返回结果类型为 Website。
  执行 SQL 语句时可以定义参数,参数可以是一个简单的参数类型,例如 int、float、String;也可以是一个复杂的参数类型,例如 JavaBean、Map 等。MyBatis 提供了强大的映射规则,执行 SQL 后,MyBatis 会将结果集自动映射到 JavaBean 中。
  为了使数据库的查询结果和返回值类型中的属性能够自动匹配,通常会对 MySQL 数据库和 JavaBean 采用同一套命名规则,即 Java 命名驼峰规则,这样就不需要再做映射了(数据库表字段名和属性名不一致时需要手动映射)。
  参数的传递使用#{参数名},相当于告诉 MyBatis 生成 PreparedStatement 参数。对于 JDBC,该参数会被标识为"?"。以上 SQL 语句可以使用 JDBC 实现,实现代码如下。String sql = "SELECT id,NAME,url FROM website WHERE NAME LIKE CONCAT ("%",?,"%")"; PreparedStatement ps = conn.prepareStatement(sql); ps.setString(1,userName);123复制代码类型:[java]  select标签常用属性
  下面介绍 select 标签中常用的属性。
  属性名称
  描 述
  备注
  id
  它和 Mapper 的命名空间组合起来使用,是唯一标识符,供 MyBatis 调用
  如果命名空间+id不唯一,那么 MyBatis 抛出异常
  parameterType
  表示传入 SQL 语句传入参数类型的全限定名或别名。它是一个可选属性,MyBatis 能推断出具体传入语句的参数
  支持基本数据类型和 JavaBean、Map 等复杂数据类型
  resultType
  SQL 语句执行后返回的类型(全限定名或者别名)。如果是集合类型,返回的是集合元素的类型,返回时可以使用 resultType 或 resultMap 之一
  -
  resultMap
  它是映射集的引用,与  元素一起使用,返回时可以使用 resultType 或 resultMap 之一
  是 MyBatis 最复杂的元素,可以配置映射规则、级联、typeHandler 等
  flushCache
  用于设置在调用 SQL 语句后是否要求 MyBatis 清空之前查询的本地缓存和二级缓存
  默认值为 false,如果设置为 true,则任何时候只要 SQL 语句被调用都将清空本地缓存和二级缓存
  useCache
  启动二级缓存的开关,默认值为 true,表示将査询结果存入二级缓存中
  -
  timeout
  用于设置超时参数,单位是秒(s),超时将抛出异常
  -
  fetchSize
  获取记录的总条数设定
  默认值是数据库厂商提供的 JDBC 驱动所设置的条数
  statementType
  告诉 MyBatis 使用哪个 JDBC 的 Statement 工作,取值为 STATEMENT(Statement)、 PREPARED(PreparedStatement)、CALLABLE(CallableStatement)
  -
  resultSetType
  这是针对 JDBC 的 ResultSet 接口而言,其值可设置为 FORWARD_ONLY(只允许向前访问)、SCROLL_SENSITIVE(双向滚动,但不及时更新)、SCROLLJNSENSITIVE(双向滚动,及时更新)
  -   传递多个参数
  现在需要根据 id 和 name 来模糊查询网站信息,显然这涉及到了两个参数。给映射器传递多个参数分为以下三种方法。
  1、使用Map传递参数
  2、使用注解传递参数
  3、使用JavaBean传递参数
  下面分别讲解这 3 种方法的具体实现。
  1. 使用Map传递参数
  使用 MyBatis 提供的 Map 接口作为参数实现,如下所示。 123456复制代码类型:[html]
  在 WebsiteMapper 接口中,方法如下。public List selectWebsiteByMap(Map params);1复制代码类型:[java]
  测试代码如下。Map paramsMap = new HashMap(); paramsMap.put("name","开课吧"); paramsMap.put("url","kaikeba"); websiteMapper.selectWebsiteByMap(paramsMap);1234复制代码类型:[html]
  使用 Map 传递参数虽然简单易用,但是由于这样设置参数需要键值对应,业务关联性不强,开发人员需要深入到程序中看代码,造成可读性下降。
  2. 使用注解传递参数
  使用 MyBatis 的注解 @Param() 传递参数,如下所示。 123456复制代码类型:[java]
  WebsiteMapper 接口中方法如下。public List selectWebsiteByAn(@Param("name") String name, @Param("url") String url);1复制代码类型:[java]
  当我们把参数传递给后台时,MyBatis 通过 @Param 提供的名称就会知道 #{name} 代表 name 参数,提高了参数可读性。但是如果这条 SQL 拥有 10 个参数的查询,就会造成可读性下降,增强了代码复杂性。
  3. 使用JavaBean传递参数
  在参数过多的情况下,MyBatis 允许组织一个 JavaBean,通过简单的 setter 和 getter 方法设置参数,提高可读性。如下所示。 123456复制代码类型:[java]
  WebsiteMapper 接口中方法如下。public List selectWebsiteByAn(Website website);1复制代码类型:[java]
  这就是通过 JavaBean 传递多个参数的方式。  区别
  以上 3 种方式的区别如下。
  使用 Map 传递参数会导致业务可读性的丧失,继而导致后续扩展和维护的困难,所以在实际应用中我们应该果断废弃该方式。
  使用 @Param 注解传递参数会受到参数个数的影响。当 n≤5 时,它是最佳的传参方式,因为它更加直观;当 n>5 时,多个参数将给调用带来困难。
  当参数个数大于 5 个时,建议使用 JavaBean 方式。
  开课吧广场-人才学习交流平台

linux安装XtraBackup8xtrabackup是percona团队研发的备份工具,比MySQL官方的ibbackup的功能还要多。支持myisam温全备innodb热全备和温增备,还可以实现innodb的定linux之tar使用技巧解压压缩命令详解c建立压缩文档x解压t查看压缩包内容r向压缩归档的文件里面追加文件u更新原压缩包中的文件v显示所有过程f指定压缩文件C切换到指定目录p解压文件权限信息(默认只为超级linux之sed使用技巧选择第5行sedn5prumenz。txt选择2到5行,共4行sedn2,5prumenz。txtsedn2,3prumenz。txt选择奇数行sedn12prumenz。txt选Android目录中mipmapv26是什么在AndroidStudio3。0中,一旦我们创建了项目,mipmapanydpiv26就会在res目录中自动创建一个名为的文件夹。它实际上是做什么的?我们为什么需要它?我们将如何CSS3实现水平中心,垂直中心,水平垂直中心实例代码作为前端猴子,无论何时进行面试或工作,我们都会或多或少地遇到使用CSS居中的效果。今天,我将写一篇关于CSS垂直和水平居中方法的文章。例子1从最简单的水平中心开始margin0au魔域3D大地图震撼曝光!新增轻功系统畅游山海异界神魔异兽山河地理神话风俗上古奇书山海经记录了古人眼中光怪陆离的世界,充满华夏民族浪漫主义的奇思妙想,让两千多年后的我们也不得不为之感叹称奇。而伴随着魔域全新资料片山海异界序曲7月2试驾北京X7超大5座空间,10万左右的价格,国产SUV性价比之王听说表哥换了新车,特地邀请他开车过来喝茶,让我们也沾沾喜气,我叫他早就过来吃午饭。不到10点,就听到外面的喇叭响了,我走出去一看,果然是表哥来了,一辆白色的SUV霸气地停在我家门口直到2010年,国产网游才做出第一个大型副本和如今国内游戏市场百花齐放,端游页游手游各种类型皆有精品出现的情景不同,早期互联网刚刚起步,甚至还要靠拨号上网的年代,网络游戏对绝大多数家庭来说是一个新颖且陌生的概念。在这个时期,别再偷看成人网站了!若是手机出现3种情况,快停止接触在如今信息化的时代里,网络越来越普及,手机的使用率越来越高,越来越多的人们喜欢没事的时候看手机,仿佛有瘾一般,而且部分人在使用手机的时候喜欢偷偷浏览一些成人网站,甚至还以为自己并没智能家居如何实现家电控制和联动语音控制的?红外控制系统生活的不断提高,家电的使用已经得到了很大的普及,我们越来越离不开它,但是,越来越多的家电让我们的生活越来越复杂,如果要听歌,您可能要先打开音乐播放器,还要打开家庭音响,星际争霸中虫族的跳虫是谁给它们配音的呢?Hio(),大麦的星际争霸十万个为什么又和大家见面啦!相信大家对于星际争霸中各个单位的台词一定深有印象,尤其是人族单位的台词总能充斥着各种令玩家们惊喜的彩蛋。比如大和的舰长整天喊着
最早iPhone14就能用了!苹果被曝或推出硬件订阅服务随着时代的进步,智能手机的售卖方式也在不断发生着变化。比如,智能机刚开始出现的时候,最流行的是合约机,也就是那些年常说的充话费送手机。虽然后来逐渐不流行了,但是却留下了不少名梗,其运动手环推荐大家好,我是小温。现在越来越多人注重运动这一块,运动手环的出现可以实时代替生活中我们看不到的内容。小温为大家带来几款性价比较高的运动手环。OPPO智能手环,我认为这款手环性价比较高安洁科技董秘氢燃料电池核心零部件目前正在研发及产能建设中安洁科技(002635)03月28日在投资者关系平台上答复了投资者关心的问题。投资者请问董秘您好贵公司有哪些核心技术是全球领先的?是否有控股子公司被评为或获得专精特新小巨人?安洁科国信期货崔谷纯秉承技术引领业务理念加强打造信息技术核心竞争力中证网讯(记者周璐璐)国信期货2018年4月成立电子商务部,由6人组成的业务团队在客户开发客户开户技术运维系统开发等方面各司其职,通力合作。技术如何给传统经纪业务赋能,期货电子商务欢迎购买华为4G手机如果你的钱是大风刮来的,本文不适合你阅读,欢迎你去购买某位网友口中的苹果8G手机。一没有网络,只有手机,这样的手机你会买吗?网络重要,还是手机重要?估计读者莫衷一是!我认为网络比手社交电商的四种典型商业模式实体经济双重受挫的后疫情时代,思购臻选社交电商社交电商有哪些模式,各自的特点是什么?社交电商不是简单的社交电商,它的形态可分为很多种第一种电商社交电商社交的模式主要有两种一种是本来画风反转!一年给骑手补贴近140亿,美团竟成了良心企业?在曾经,一提起美团,骑手消费者和商家都是口吐芬芳,消费者认为美团上面的商品定价远高于线下,骑手则认为美团不断缩减送餐时间来压榨他们的体力,而商家则觉得美团抽成太高,卖一单就亏一单。部分地区楼市成交有所回升!多个互联网巨头被曝大裁员1,十大券商政策底市场底已经出现,A股将逐步企稳并进入中期上行通道A股已从情绪驱动回归基本面驱动的常态,并将进入政策的关键发力期近两周来疫情对经济影响较大,稳增长政策发力的必要性和红米K50Pro和小米11价格差不多,怎么选择?建议选择红米K50Pro,去年小米11的口碑实在太差了,由于火龙888的影响,烧WiFi日常发热问题比较严重,前期销量虽然不错,但后期口碑崩盘了。而红米K50Pro的天玑9000在使用Selenium抓取zabbix性能监控图概要老样子先来个概要,因为公司一直都子使用企业微信,前两天刚刚将所有zabbix的告警信息接到微信上,总感觉还差那么一点,就想着就高等级的告警加上一个性能监控图,这样只看告警信息大曝接近真全面屏三星S23Ultra,三星S22彻底让路,价格突然骤降曝光不负众望为行业带来更有创新力三星S23Ultra机皇的渲染图流出,曝光不负众望为行业带来更有创新力三星S23Ultra机皇设计上有了跨越式提升。曝光不负众望为行业带来更有创新力