Mybatis的写法

新手上路,请多包涵

第一种:在java里面写。
@Select("select bureau_code from drt_opr_area")
List<String> getAllAreas();
第二种:在xml里面写。
<select id="selectList" resultMap="BaseResultMap" parameterType="com.csg.intshop.entity.DrtShopConfig">

    select 
    <include refid="BaseColumnList" />
    from drt_shop_config
    where 1=1
    <include refid="BaseCustomQueryCondition" />
  </select>

想问问:在什么情况下写java代码好,在什么情况下选中写xml好?如果是全表查询,这两种写法在性能有没有区别?
比如:当表字段比较多的时候,全表查询写xml看起来比较简洁,可读性强。### 问题描述

问题出现的环境背景及自己尝试过哪些方法

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

你期待的结果是什么?实际看到的错误信息又是什么?

阅读 2.4k
3 个回答

你好,一般来说正常的项目都是使用xml,维护起来方便,对于性能的话,应该使用xml的形式或比注解sql后,因为官方也是推荐使用xml,且注解方式拼接动态 sql 功能有限,对于项目而言,sql与java(项目主编程语言)应该区分开来,不要混合在一起,且拼接sql易爆炸·····,xml是我比较支持与推荐的,对于后期维护还有升级版本而言,不过简单轻松的项目也可以用sql来完成。

您好,1、增加对象返回自增主键 在一个Mapper接口中,出现多个select查询(>=3个),且每个查询都需要写相同的返回@Results内容(这一部分内容通常很多),这样的话,为了使Mapper接口比较整洁,重复代码比较少,我们会将这些select方法的具体实现写在xml文件中,因为在xml文件的顶部我们就会配置与注解
2、就是通过注解动态拼接sql是不如xml来的方便

还是分开好一点,xml比较好。
除非是Spring data jpa rest那种开发·

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题