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

网站建设 国鸿团风网站建设

网站建设 国鸿,团风网站建设,有深度网站,荣耀手机正品官网查询目录 一、MyBatis两种SQL配置方式 二、使用XML映射文件配置SQL语句 三、使用注解配置SQL语句 四、两种方式对比 总结 1、注解 2、XML配置 五、MyBatis多数据源的两种配置方式 参考 一、MyBatis两种SQL配置方式 MyBatis 提供了两种方式来配置SQL语句:注解&a…

目录

一、MyBatis两种SQL配置方式

二、使用XML映射文件配置SQL语句

三、使用注解配置SQL语句

四、两种方式对比

总结

1、注解

2、XML配置

五、MyBatis多数据源的两种配置方式

参考


一、MyBatis两种SQL配置方式

MyBatis 提供了两种方式来配置SQL语句:注解(如 @Select)和XML映射文件。

  • 映射文件:通过XML文件来定义SQL语句和映射关系
  • 注解方式:通过在Java代码中使用注解来定义SQL语句和映射关系

二、使用XML映射文件配置SQL语句

在MyBatis中,SQL语句通常定义在XML文件中。例如,定义一个查询用户的SQL:

<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper"><select id="selectUser" parameterType="int" resultType="com.example.model.User">SELECT * FROM users WHERE id = #{id}</select>
</mapper>

注:parameterType属性指定了输入参数的类型,resultType属性指定了返回结果的类型

三、使用注解配置SQL语句

  • MyBatis 是一个 XML 驱动的框架。配置信息是基于 XML 的,而且映射语句也是定义在 XML 中的。MyBatis 3 以后,支持注解配置。注解配置基于配置 API;而配置 API 基于 XML 配置。

  • MyBatis 支持诸如 @Insert、@Update、@Delete、@Select、@Result 等注解。

使用@Select注解定义上述同样的查询用户的SQL:

package com.example.mapper;import com.example.model.User;
import org.apache.ibatis.annotations.Select;public interface UserMapper {@Select("SELECT * FROM users WHERE id = #{id}")User selectUser(int id);
}

注:@Select注解用于定义SQL语句,其中#{id}表示一个占位符,用于在SQL执行时替换为方法参数id的值

四、两种方式对比

总结

  • 注解:适用于简单、直观的 SQL 语句,便于快速开发和维护,比如,团队对代码整洁度和维护性要求较高,且 SQL 语句相对简单的情况。
  • XML 配置方式:适用于大型项目或 SQL 语句特别复杂的情况,提供高灵活性和易于扩展的维护方式。

1、注解

优点

  • 简洁直观:SQL 语句直接写在注解中,与接口方法紧密结合,便于阅读和维护。
  • 编译时检查:注解中的 SQL 语句在编译时就能被检测到,减少运行时错误。
  • 减少配置文件:不需要额外的 XML 文件,减少了项目的复杂性。

缺点

  • 复杂 SQL 支持不足:对于动态 SQL 或特别复杂的 SQL 语句,注解方式可能显得力不从心。
  • 可读性问题:当 SQL 语句较长或包含复杂逻辑时,注解可能会使代码显得混乱。
  • 灵活性差:SQL 语句在注解中写死后,不易于动态修改或扩展。

2、XML配置

优点

  • 灵活性高:支持复杂的 SQL 语句和动态 SQL,易于管理和维护。
  • 分离职责:SQL 语句与 Java 代码分离,便于独立测试和修改(注: 这个可以理解为解耦,测如果测试环境想使用与生产环境不同的SQL,非常方便)。
  • 易于扩展:XML 文件可以方便地添加新的 SQL 语句,不影响现有代码。

缺点

  • 文件繁多:当项目规模较大时,可能需要管理大量的 XML 文件(注: 可以想一想,上百个文件,修改时非常麻烦)。
  • 阅读不便:需要在多个文件之间切换,不如注解方式直观。
  • 编译时检查不足:XML 文件中的错误通常只能在运行时被发现。

五、MyBatis多数据源的两种配置方式

同一个项目涉及到多个数据库,也就是多数据源。多数据源又可以分为两种情况:

1)两个或多个数据库没有相关性,各自独立,其实这种可以作为两个项目来开发。

2)两个或多个数据库是master-slave的关系,比如有mysql搭建一个 master-master,其后又带有多个slave;或者采用MHA搭建的master-slave复制;

MyBatis多数据源的配置主要有两种方式:

  • 通过@MapperScan注解,对不同包下的Mapper使用不同的sqlSessionFactory
  • 通过@MapperScan注解加自定义注解,对使用不同注解的Mapper使用不同的sqlSessionFactory

参考

https://www.jb51.net/article/152380.htm



MyBatis 3种 使用 SQL 语句的方式;注解方式、注解提供器方式、XML 配置方式 - del88 - 博客园

http://www.yayakq.cn/news/694231/

相关文章:

  • 太原建高铁站做平面设计兼职的网站有哪些
  • 专业的网站建设制作服务佛山短视频推广渠道
  • 怎样设立网站珠海房产网
  • 北京市城乡建设协会官方网站网站的个人网盘怎么做
  • 深圳英文建站公司好网站建设因素
  • 建站平台wp网站基础内容
  • 无锡网站建设推广公司可信网站验证价格
  • 康县建设局网站制作营销网站模板免费下载
  • 网站开发教程网广西柳州网站建设小程序公司
  • 网站推广方式组合上海专业网站建设公司站霸网络
  • 一个微信可以做两个网站支付宁波seo关键词引流
  • 网址与网站的区别黄石网站开发
  • 广元做网站国外服务器多少钱一个月
  • 新开传奇手游发布网站百度seo优化公司
  • iis建设网站教程网站源码上传图片出错
  • 域名过期网站还有用吗网站建设企业有哪些
  • 老鹰画室网站哪家做的h5设计制作是什么意思
  • 济南源码网站建设深圳如何优化
  • 如何通过后台管理在网站的logo后台上加链接shopex整合wordpress
  • 有没有代做ppt的网站网站开发人员的 生活
  • 邯郸网站建设做公司公司网站需要修改
  • led灯网站策划书扁平 网站模板
  • 安宁区网站制作drupal与wordpress哪个容易
  • 网站推广的几个阶段百度一wordpress
  • 各大网站推荐鲜花网站建设规划书
  • 南昌seo站内优化建立商务网站步骤
  • 安徽省工程建设信用平台网站友汇网网站建设管理后台网站
  • 网站建设方案设计书wordpress多国语言
  • 做网站小程序多少钱计算机前景和就业
  • 用cms建设网站课程宅门沈阳的网站制作公司哪家好