mybatis plus如何使用mybatis xml拼接sql

news/2024/11/29 15:54:40/

在 MyBatis Plus 中,如果你想使用 MyBatis 的 XML 文件来拼接 SQL,可以结合使用 MyBatis 和 MyBatis Plus 的功能。MyBatis Plus 是一个增强 MyBatis 的工具,它提供了很多便捷的操作,但有时你可能需要使用 XML 文件来定义更复杂的 SQL 语句。

以下是一个简单的示例,展示如何在 MyBatis Plus 中使用 XML 拼接 SQL:

1. 配置 MyBatis XML 映射文件

首先,你需要创建一个 Mapper XML 文件,比如 UserMapper.xml,并定义你的 SQL 语句,比如:

<mapper namespace="com.example.mapper.UserMapper"><select id="selectUsers" resultType="com.example.entity.User">SELECT * FROM userWHERE 1=1<if test="name != null">AND name = #{name}</if><if test="age != null">AND age = #{age}</if></select></mapper>

2. 创建 Mapper 接口

然后,你需要创建一个对应的 Mapper 接口,比如 UserMapper.java:

package com.example.mapper;import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.entity.User;
import org.apache.ibatis.annotations.Param;import java.util.List;public interface UserMapper extends BaseMapper<User> {List<User> selectUsers(@Param("name") String name, @Param("age") Integer age);
}

3. 使用 MyBatis Plus 的 Service 层

在你的 Service 类中,你可以调用这个方法来执行 SQL 查询:

package com.example.service;import com.example.entity.User;
import com.example.mapper.UserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class UserService {@Autowiredprivate UserMapper userMapper;//https://zhengkai.blog.csdn.net/public List<User> getUsers(String name, Integer age) {return userMapper.selectUsers(name, age);}
}

4. 在 Controller 中调用 Service

最后,在你的 Controller 中调用 Service 方法:

package com.example.controller;import com.example.entity.User;
import com.example.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;@RestController
@RequestMapping("/users")
public class UserController {@Autowiredprivate UserService userService;@GetMappingpublic List<User> getUsers(@RequestParam(required = false) String name,@RequestParam(required = false) Integer age) {return userService.getUsers(name, age);}
}

总结

通过以上步骤,你可以在 MyBatis Plus 项目中使用 MyBatis 的 XML 文件来拼接 SQL。这样可以利用 MyBatis XML 的灵活性来处理更复杂的 SQL 逻辑,同时仍然使用 MyBatis Plus 提供的强大功能。


http://www.ppmy.cn/news/1550933.html

相关文章

【MySQL】数据库的基本认识和使用

为什么要使用数据库呢&#xff1f;我们知道Linux是有文件系统的&#xff0c;为什么不使用文件系统呢&#xff1f; 因为OS只负责把我们交给它的数据存储起来&#xff0c;存到某个文件中&#xff0c;它并不负责管理数据的具体内容&#xff0c;也就是说&#xff0c;我们交给OS什么…

【Ubuntu 24.04】How to Install and Use NVM

参考 下载 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash激活 Activate NVM: Once the installation script completes, you need to either close and reopen the terminal or run the following command to use nvm immediately. exp…

机器学习之DeepMind推出的DreamerV3

开放域任务强化学习(Open-Ended Task Reinforcement Learning)的目标是使智能体能够在多样化且未见过的任务中表现出色,同时能够实现任务间的迁移学习。这类研究的重点在于开发通用的学习算法,能够在没有明确任务定义的情况下,从环境中学习并推广到新任务。DeepMind的Drea…

Mybatis:Mybatis快速入门

Mybatis的官方文档是真的非常好&#xff01;非常好&#xff01; 点一下我呗&#xff1a;Mybatis官方文档 MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可…

基于Python的飞机大战复现

✨✨ 欢迎大家来访Srlua的博文&#xff08;づ&#xffe3;3&#xffe3;&#xff09;づ╭❤&#xff5e;✨✨ &#x1f31f;&#x1f31f; 欢迎各位亲爱的读者&#xff0c;感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢&#xff0c;在这里我会分享我的知识和经验。&am…

Linux入门系列--用户与权限

一、前言 1.注意&#xff1a; 【】用户是Linux系统工作中重要的一环&#xff0c;用户管理包括 用户 与 组账号 的管理 【】在Linux系统中&#xff0c;不论是由本机或是远程登录(SSH)系统&#xff0c;每个系统都必须拥有一个账号&#xff0c;并且对于不同的系统资源拥有不同的使…

Android使用UVCCamera打开USBCamera-预览

导入libuvccamera.aar 写一个管理类封装UVCCamera相关API import android.content.Context import android.hardware.usb.UsbDevice import android.os.Handler import android.os.HandlerThread import android.os.Message import android.util.Log import android.view.Surf…

利用zabbix自定义脚本监控MySQL基础状态

1、 mysql_monitor.sh 主要关注mysql的这些状态&#xff1a; uptime| version| questions| slowQueries| select| bytesSent| bytesReceived| ping| activeThread| connectThread| maxConnect| bigSql| bigTransaction | innodbLock| primaryKey| dbRole| readonly| superRead…