当前位置: 首页 > news >正文

搬家公司网站制作/百度百家

搬家公司网站制作,百度百家,菜鸟网站建设,织梦网站模板怎么用Mybatis与iBatis的主要差异对比 他们都是优秀的持久层框架,MyBatis是现在最常用的持久层框架,可以动态地拼接sql语句,非常人性化,更适合逻辑复杂的sql;iBatis就是MyBatis前身,他们有很多相似的地方&#xf…

Mybatis与iBatis的主要差异对比
他们都是优秀的持久层框架,MyBatis是现在最常用的持久层框架,可以动态地拼接sql语句,非常人性化,更适合逻辑复杂的sql;iBatis就是MyBatis前身,他们有很多相似的地方,今天主要讲一下sqlMap里面的变化。
1. 传入参数
iBatis是parameterClass,而MyBatis是可以不写的,也可以用parameterType;parameterClass,而MyBatis是可以不写的,也可以用parameterType;
iBatis的传出参数关键字是:resultClass,而MyBatis是resultMap。
iBatis: <select id="selectDeviceByWhere" parameterClass="Map" resultClass="BaseResultMap"> </select>
MyBatis:<select id="selectDeviceByWhere" parameterType="Map" resultMap="BaseResultMap"> </select>
2. 接收参数
IBatis是使用# #和$ KaTeX parse error: Expected 'EOF', got '#' at position 23: …使用方法等同于MyBatis;#̲ #=#{ }, = =={ } ,解释一下#和KaTeX parse error: Expected 'EOF', got '#' at position 5: 的区别,#̲字符串处理,加单引号,可以一定…直接使用,当传入的是数字时,用#会进行隐式转换为字符串,耗性能。IBatis是使用# #和$ KaTeX parse error: Expected 'EOF', got '#' at position 23: …使用方法等同于MyBatis;#̲ #=#{ }, = =={ } ,解释一下#和KaTeX parse error: Expected 'EOF', got '#' at position 5: 的区别,#̲字符串处理,加单引号,可以一定…直接使用,当传入的是数字时,用#会进行隐式转换为字符串,耗性能。
3. 判断语句,这个也是非常常用和重要的地方。
对于MyBatis的很简单,只要在where 或者if 的标签里面添加test=""就可以了,里面写判断条件了。但是IBatis的就麻烦了许多了,它将每个都方法都进行了封装。例如
isNull:判断property字段是否是null

<isNull prepend="and" property="id">   </isNull>
isEqual相当于equals,判断状态值。
<isEqual property="state" compareValue="0">  </isEqual>` 或
<isEqual property="state" compareProperty="nextState">  </isEqual>
isEmpty判断参数是否为Null或者空,满足其中一个条件则其true。
isNotEmpty相反,当参数既不为Null也不为空是其为true。



4. 循环的使用
iBatis是使用Iterate:这属性遍历整个集合,并为 java.util.List 集合中的元素重复元素体的内容。例如

<isNotEmpty property="deptIds">and dept_id in <iterate property="deptIds" open="(" close=")" conjunction=",">#deptIds[]#</iterate></isNotEmpty>


deptIds是数组类型的属性值,当deptIds不为null或“”时,进行deptIds遍历取值。
MyBatis使用的是ForEach方法。他可以遍历List,,Map三种元素。
循环插入:

<insert id="xxxx" parameterType="CompilingRateDto">insert into cm_compiling_rate (area)values <foreach collection="compilingRateList" item="compilingRate"  separator="," >(#{compilingRate.area})</foreach></insert>


循环更新:

<update id="xxxxx" parameterType="CompilingRateDto"><foreach collection="updateCompilingRateList" item="compiling"  separator=";" >update cm_compiling_rate crset  compiling_manpower = #{compiling.compilingManpower},where cr.valid_Month=#{compiling.validMonth}           </foreach>             </update>


5. MyBatis中一条sql结束后可以有“;”,而iBatis会报错
6. 存储过程的调用
iBatis:

 <procedure id="setCaseQueueStatus.sql" parameterMap="params.caseQueueStatus"><![CDATA[{call CMPCCDATA.PKG_CMPCC_QUEUE_TEASE.PROC_SET_AST_ACCT_STATUS(?,?)}]]></procedure><parameterMap id="params.caseQueueStatus" class="java.util.Map"><parameter property="P_ACCT_SN" jdbcType="VARCHAR" javaType="string" mode="IN" /><parameter property="P_QUEUE_STATUS" jdbcType="VARCHAR" javaType="string" mode="IN" /></parameterMap>


MyBatis :

<select id="xxxxx"  resultType = "java.lang.String" statementType="CALLABLE">{call batch_randomMark()}
</select>


通过 statementType 属性将该语句标识为存储过程而非普通 SQL 语句

http://www.lbrq.cn/news/1369099.html

相关文章:

  • 绍兴网站建设服务/南宁网站seo外包
  • 动漫做暧视频在线观看网站/十大网站管理系统
  • 绥芬河市建设局网站/app数据分析软件
  • 软装设计素材网站/爱站关键词
  • 站长工具亚洲高清/百度站长工具域名查询
  • 网站开发网站制作报价单/软件推广
  • 池州做网站的公司/武汉大学人民医院精神卫生中心
  • 做外贸有哪些好的网站有哪些/百度搜索热度排名
  • 惠州网站网站建设/建站企业网站
  • h5 app开发 网站建设/提高搜索引擎检索效果的方法
  • 绿色环境保护网站模板/seo短视频网页入口引流免费
  • 毕业设计做网站怎么样/苏州网站制作公司
  • 做一个15页的网站怎么做/网站优化招聘
  • 做wordpress挣钱/北京关键词优化报价
  • 重庆行业网站建设/公司网络推广营销
  • 中职计算机网站建设教学计划/线下推广
  • 石家庄公司网站建设/湖北seo公司
  • 西安做网站微信公司哪家好/如何结合搜索检索与seo推广
  • 开公司怎么做网站/最新疫情爆发
  • wordpress 怎么修改主题/seo入门培训班
  • 德州建网站/做任务赚佣金一单10块
  • 新网做网站怎么上传/百度官方
  • 重庆市建设工程信息网怎么录项目信息/seo属于什么职位类型
  • 企业网站建设招标书/合肥瑶海区
  • 哪个网站做美食好一点/软文发布平台哪个好
  • 下载 asp 网站源码/福州seo博客
  • 用dw怎么做用户登录页面的网站/app推广方式
  • 赣州酒店网站建设/百度服务平台
  • 关于单位建设网站的申请/百度网盘电话人工服务
  • 虚拟主机购买网站/百度搜索关键词优化方法
  • 跨语言模型中的翻译任务:XLM-RoBERTa在翻译任务中的应用
  • Linux环境下使用Docker搭建多服务环境
  • Azure DevOps 中的代理
  • GitOps:云原生时代的革命性基础设施管理范式
  • SpringBoot与TurboGears2跨栈、整合AI服务、智能客服路由系统整合实战
  • 图像加密学习日志————论文学习DAY4