Mybatis的写法

南陈 2018-07-19 10:41:32
第一种:在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看起来比较简洁,可读性强。
...全文
183 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
java1357924680 2018-07-19
  • 打赏
  • 举报
回复
在Java里面写的好处:
・查看代码的同时可以看到对应的查询语句。
在xml里面写的好处:
・对于比较长的SQL语句,可以按一定格式来书写,可读性强。
・修改SQL时,无须编译Java文件。

对于快速开发的小规模项目来说,按照简单实用的原则,可以把简单的一眼就可以看懂的SQL写到Java代码里,复杂的需要一眼以上才能看懂的,把格式弄好写道XML文件里。

对于大规模不缺钱需要稳定易维护的项目来说,建议都写到XML文件中。
因为:
1. 便于DBA优化SQL,你可以把所有的XML文件交给DBA来查看哪些SQL有问题。
2. 因为XML文件就是SQL的全集,所以便于后期维护修改。

性能上我认为没什么区别,因为对数据库的接口都是SQL,影响性能的应该是网络通讯次数和SQL语句写法等,至于框架层把XML文件变成SQL和把Annotaion变成SQL的性能我认为可以忽略不计。

★请阅读本人博客的《答题协议
maradona1984 2018-07-19
  • 打赏
  • 举报
回复
写xml里好一些,当然最好啥都不写,直接生成
写在java里,那些动态条件的就很难搞了
java1357924680 2018-07-19
  • 打赏
  • 举报
回复
引用 2 楼 welan123123 的回复:
我来抢楼上分数了,所有情况都写xml里面最好,好习惯终身受益!

欢迎
奔跑的小鱼儿 2018-07-19
  • 打赏
  • 举报
回复
我来抢楼上分数了,所有情况都写xml里面最好,好习惯终身受益!

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧