Mapper使用记录

一、传递参数

1. positional parameters  位置参数
在Java代码中调用该查询方法时,需要传递String和int类型的参数,在SQL语句中使用${1}、${2}等占位符来表示参数的位置。例如:

<select id="selectUser" resultType="User">
  SELECT * FROM sys_users WHERE  name = ${1} AND dept_id = ${2}
</select>

public User queryUser(String name, int age);

注意: #{}预编译 (可防止sql注入),${}非预编译(直接的sql拼接,不能防止sql注入)

2. named parameters  命名参数
在SQL语句中使用#{paramName}来表示命名参数,然后在方法中通过给参数添加@Param注解来传递参数。例如:

<select id="selectUser" resultType="User" >
  SELECT * FROM sys_users WHERE name = #{name} AND age = #{age,jdbcType=BIGINT}
</select>

,jdbcType=BIGINT可省略,还可以是VARCHAR,DECIMAL等,

public User selectUser(@Param("name") String name, @Param("age") int age);

在Java代码中调用该查询方法时,需要传递String和int类型的参数,在方法的参数列表中添加@Param("name")和@Param("age")注解。运行时,自动将被替换到SQL语句中的#{name}和#{age}处,并指定参数的名称(@Param("")中)与SQ

### 配置和使用 MyBatis Plus 中的 Mapper 文件 #### 1. 添加依赖项 为了在项目中使用 MyBatis Plus 和其特性,需先确保 `pom.xml` 已经包含了必要的依赖项。对于 Maven 构建工具而言,应加入如下所示的相关依赖: ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis.plus.version}</version> </dependency> ``` 此部分配置允许开发者利用 MyBatis Plus 提供的功能来增强数据库交互能力[^1]。 #### 2. 创建实体类 创建对应的 Java 实体类表示表结构。例如有一个名为 User 的表格,则可以建立相应的 Entity 类用于映射该数据表字段到对象属性上。 ```java @Data public class User { private Long id; private String name; } ``` 此类定义了与数据库中的 user 表相对应的数据模型[^3]。 #### 3. 编写 Mapper 接口 接着编写继承自 BaseMapper 或者实现 IService 接口的服务层接口。这使得可以直接调用内置的方法完成 CRUD 操作而无需额外编码。 ```java import com.baomidou.mybatisplus.core.mapper.BaseMapper; public interface UserMapper extends BaseMapper<User> {} ``` 上述代码片段展示了怎样通过扩展 BaseMapper 来快速获得基本的数据访问方法支持。 #### 4. 定义 XML 映射文件 如果希望采用 XML 方式描述 SQL 查询语句而不是仅依靠注解方式,在 src/main/resources/mapper/ 下新建 .xml 文件并指定命名空间指向具体的 Mapper 接口全限定名。 ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.example.demo.mapper.UserMapper"> <!-- 自定义查询 --> <select id="selectAllUsers" resultType="User"> SELECT * FROM users </select> </mapper> ``` 这里需要注意的是,XML 文件的位置应当遵循特定规则以便 Spring 能够自动扫描加载这些资源文件[^2]。 #### 5. 修改 application.yml 进行全局设置 最后一步是在项目的配置文件 (通常是 application.yml) 中添加一些参数以启用对 Mapper 扫描的支持以及其他可能需要调整的地方。 ```yaml mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl mapper-locations: classpath*:mapper/*.xml ``` 这段 YAML 片段指定了日志记录器以及要查找的 Mapper XML 文件位置模式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值