MyBatis

#{}和${}

项目#{}${}
执行顺序动态解析 -> 预编译 -> 执行动态解析 -> 编译 -> 执行
变量替换DBMS外DBMS内
加单引号自动加不加
防止sql注入可以不行
假设传入参数为1select * from t_user where uid = #{uid}
select * from t_user where uid= ?
select * from t_user where uid= '1’
select * from t_user where uid = #{uid}
select * from t_user where uid= '1’
select * from t_user where uid= ‘1’
单个参数可任意1、使用MyBatis默认值value,即${value}
2、使用自定义参数名,前提:在映射器接口方法的参数前加注解@Param("")
多个参数1、使用MyBatis 默认值 arg0、arg1、arg2 … 或 param1、param2、param3 …
2、使用自定义参数名,前提:在映射器接口方法的参数前加注解@Param("")
1、使用MyBatis 默认值 arg0、arg1、arg2 … 或 param1、param2、param3 …
2、使用自定义参数名,前提:在映射器接口方法的参数前加注解@Param("")

注:@Param("") 是 @Param(value="") 的简写

建议:
(1)不论是单个参数还是多多个参数,一律使用@Param("")。
(2)尽量用#{}。
(3)表名做参数,必须用 。 ( 4 ) o r d e r b y 时 , 必 须 用 {}。 (4)order by时,必须用 4orderby{}。
(5)使用 时 要 注 意 何 时 加 或 不 加 单 引 号 , 即 {}时要注意何时加或不加单引号,即 {} 和 ‘${}’。

MyBatis工作原理

1、读取MyBatis配置文件:mybatis-config.xml为MyBatis的全局配置文件,配置了MyBatis的运行环境等信息,例如数据库连接信息。
2、加载映射文件:映射文件即sql映射文件,该文件配置了操作数据库的sql语句,需要在mybatis配置文件mybatis-config.xml中加载。该文件可以加载多个映射文件,每个文件对应数据库中的一张表。
3、构造会话工厂:通过mybatis的环境等配置文件信息构建会话工厂sqlsessionfactory。
4、构建会话对象:由会话工厂构建sqlsession对象,该对象中包含了执行sql语句的所有方法。
5、Executor执行器:mybatis底层定义了一个executor接口来操作数据库,它将根据sqlsession传递的参数动态生成需要执行的sql语句,同时负责插叙缓存的维护。
6、MappedStatement对象:在Executor接口执行的方法中有一个mappedstatement类型的参数,该参数是对映射信息的封装,用于存储要映射的sql语句id、参数等信息。
7、输入参数映射:输入参数类型可以是map、list等集合类型,也可以是基本数据类型和pojo类型,输入参数映射过程类似于jdbc对preparedstatement对象设置参数的过程。
8、输出结果映射:输出结果类型可以是map、list等集合类型,也可以是基本数据类型和pojo类型。在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MyBatis 是一个 Java 框架,它结合了 SQL 查询和对象映射,用于简化持久层(Data Access Layer, DAL)的开发,特别是在与关系型数据库(如 MySQL、Oracle)交互时。在 Eclipse 中使用 MyBatis,你可以利用 Eclipse 的集成开发环境(Integrated Development Environment, IDE)的优势,如代码提示、自动完成、调试功能等。 以下是使用 MyBatis 在 Eclipse 中的一些关键步骤: 1. **安装 MyBatis Eclipse 插件**:首先确保你已经安装了 Eclipse,然后可以在 Eclipse 市场(Eclipse Marketplace)中搜索 "MyBatis" 或者访问 MyBatis 的官方网站下载适合你项目的插件。 2. **配置 MyBatis XML 映射文件**:在项目中创建 `mybatis-config.xml` 文件,用于配置全局的事务管理、数据源连接等信息。每个数据库表对应的 Mapper 接口文件中会包含具体的 SQL 映射。 3. **编写 Mapper 接口和 SQL 映射**:Mapper 接口定义了业务操作方法,每个方法对应数据库中的一个查询或操作。XML 文件(`.xml` 结尾)定义了如何将接口方法和 SQL 语句关联起来。 4. **调用 Mapper 接口的方法**:在业务代码中,通过 SqlSession 对象调用 Mapper 接口的方法,传递参数执行数据库操作。 5. **代码提示和自动完成**:Eclipse 集成了 MyBatis 的代码提示和自动完成功能,可以帮助开发者快速编写 SQL 和减少拼写错误。 6. **调试支持**:通过设置断点,可以在运行时查看 SQL 语句执行的结果,这对于调试和优化查询非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汉东哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值