mybatisplus使用xml的示例详解

目录
  • 一、配置xml路径
  • 二、编写Mapper里面的方法
  • 三、编写sql
  • 四、测试
  • 五、更改Mapper里面方法入参

一、配置xml路径

mybatis-plus:
mapper-locations: classpath:mapper/*.xml

二、编写Mapper里面的方法

public interface UserMapper extends BaseMapper {
List findAll();

List<User> selectByXml(@Param("name") String name);
}

三、编写sql

<select id="selectByXml" resultType="com.example.mybatisplusdemo.sample.model.User">
    select *
    from user
    <where>
        <if test="name != null and name != ''">
            and name = #{name}
        </if>
    </where>
</select>

四、测试

@Test
void test7(){
List users = userMapper.selectByXml("Jone");
users.stream().forEach(System.out::println);
}

结果:

==>  Preparing: select * from user WHERE name = ?
==> Parameters: Jone(String)
<==    Columns: ID, NAME, AGE, EMAIL
<==        Row: 1, Jone, 18, test1@baomidou.com
<==      Total: 1

五、更改Mapper里面方法入参

public interface UserMapper extends BaseMapper {
List findAll();

// List selectByXml(@Param("name") String name);

List<User> selectByXml(@Param("ew") Wrapper<User> queryWrapper);
}
<select id="selectByXml" resultType="com.example.mybatisplusdemo.sample.model.User">
    select *
    from user
     ${ew.customSqlSegment}
</select>

测试:

@Test
void test7(){
    List<User> users = userMapper.selectByXml(new QueryWrapper<User>().eq("name","Jone"));
    users.stream().forEach(System.out::println);
}

执行结果:

==>  Preparing: select * from user WHERE (name = ?)
==> Parameters: Jone(String)
<==    Columns: ID, NAME, AGE, EMAIL
<==        Row: 1, Jone, 18, test1@baomidou.com
<==      Total: 1

到此这篇关于mybatisplus使用xml的文章就介绍到这了,更多相关mybatisplus使用xml内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • MybatisPlus代码生成器含XML文件详解

    目录 MybatisPlus代码生成器含XML 所需依赖 代码如下 MybatisPlus代码生成器,自用版本不带xml MybatisPlus代码生成器含XML 所需依赖         <!--Mybatis-Plus-->         <dependency>             <groupId>com.baomidou</groupId>             <artifactId>mybatis-plus-boot-sta

  • mybatisplus如何在xml的连表查询中使用queryWrapper

    目录 在xml的连表查询使用queryWrapper 在mapper接口中定义方法 在mapper xml中 调用该方法 mapper.xml 配合queryWrapper写法 mapper中的接口这么写 xml中${ew.customSqlSegment} 在xml的连表查询使用queryWrapper 在mapper接口中定义方法 List<Map<String,Object>> linkUserAndDept(@Param("ew1") Wrapper&l

  • MybatisPlus,无XML分分钟实现CRUD操作

    不讲太多理论知识,官网都有,直接上手. 1.测试表 DROP TABLE IF EXISTS `user`; CREATE TABLE `user` ( `id` bigint(20) UNSIGNED NOT NULL, `name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '用户名', `password` varchar(18) CHARACTER SET utf8 COLLA

  • mybatisplus使用xml的示例详解

    目录 一.配置xml路径 二.编写Mapper里面的方法 三.编写sql 四.测试 五.更改Mapper里面方法入参 一.配置xml路径 mybatis-plus: mapper-locations: classpath:mapper/*.xml 二.编写Mapper里面的方法 public interface UserMapper extends BaseMapper { List findAll(); List<User> selectByXml(@Param("name&quo

  • mybatis xml文件热加载实现示例详解

    目录 引言 一.xml 文件热加载实现原理 1.1 xml 文件怎么样解析 1.2 实现思路 二.mybatis-xmlreload-spring-boot-starter 登场 2.1 核心代码 2.2 安装方式 2.3 使用配置 最后 引言 本文博主给大家带来一篇 mybatis xml 文件热加载的实现教程,自博主从事开发工作使用 Mybatis 以来,如果需要修改 xml 文件的内容,通常都需要重启项目,因为不重启的话,修改是不生效的,Mybatis 仅仅会在项目初始化的时候将 xml

  • java 与testng利用XML做数据源的数据驱动示例详解

    java 与testng利用XML做数据源的数据驱动示例详解 testng的功能很强大,利用@DataProvider可以做数据驱动,数据源文件可以是EXCEL,XML,YAML,甚至可以是TXT文本.在这以XML为例: 备注:@DataProvider的返回值类型只能是Object[][]与Iterator<Object>[] TestData.xml: <?xml version="1.0" encoding="UTF-8"?> <

  • 对python 生成拼接xml报文的示例详解

    最近临时工作要生成xml报名,通过MQ接口发送.简单小程序. 自增长拼成xml报文 Test_001.py # encoding=utf-8 import time orderId = '' s1= "\n" # for ID in range(1,5): item1 = "<item>" + \ "<orderID>" + str(ID) + "</orderID>" + \ "

  • mybatis写xml时数字类型千万别用 !=‘‘(不为空串)进行判断的示例详解

    前言 最近项目内更新数据时,发现数字类型字段设置为0时不能正常的更新进数据库,我们打印了下mybatis的sql日志发现字段为0的sql没有被拼接. 样例 下面的是错误示例 ❌ <update id="update" parameterType="com.chengfengfeng.test.domain.People"> update people set <if test="age!=null and age !=''"&g

  • Mybatis-plus使用TableNameHandler分表详解(附完整示例源码)

    为什么要分表 Mysql是当前互联网系统中使用非常广泛的关系数据库,具有ACID的特性. 但是mysql的单表性能会受到表中数据量的限制,主要原因是B+树索引过大导致查询时索引无法全部加载到内存.读取磁盘的次数变多,而磁盘的每次读取对性能都有很大的影响. 这时一个简单可行的方案就是分表(当然土豪也可以堆硬件),将一张数据量庞大的表的数据,拆分到多个表中,这同时也减少了B+树索引的大小,减少磁盘读取次数,提高性能. 两种基础分表逻辑 说完了为什么要分表,下面聊聊业务开发中常见的两种基础的分表逻辑.

  • MyBatis-Plus动态返回实体类示例详解

    目录 1. 自定义SqlSession 2. 自定义SqlSessionFactory 3. 自定义SqlSessionTemplate 4. 自定义基础Mapper 5. 使用 1. 自定义SqlSession @Slf4j public class GenericSqlSession extends DefaultSqlSession { private static final ThreadLocal<Class<?>> CTX = new ThreadLocal<&g

  • .NET 中配置从xml转向json方法示例详解

    目录 一.配置概述 二.配置初识 三.选项模式 四.选项依赖注入 五.其它配置 六.托管模式 一.配置概述 在.net framework平台中我们常见的也是最熟悉的就是.config文件作为配置,控制台桌面程序是App.config,Web就是web.config,里面的配置格式为xml格式. 在xml里面有系统生成的配置项,也有我们自己添加的一些配置,最常用的就是appSettings节点,用来配置数据库连接和参数. 使用的话就引用包System.Configuration.Configur

  • java 中HttpClient传输xml字符串实例详解

    java 中HttpClient传输xml字符串实例详解 介绍:我现在有一个对象page,需要将page对象转换为xml格式并以binary方式传输到服务端 其中涉及到的技术点有: 1.对象转xml流 2.输出流转输入流 3.httpClient发送二进制流数据 POM文件依赖配置 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifact

  • JavaScript中的ajax功能的概念和示例详解

    AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML). 个人理解:ajax就是无刷新提交,然后得到返回内容. 对应的不使用ajax时的传统网页如果需要更新内容(或用php做处理时),必须重载整个网页页面. 示例: html代码如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>

随机推荐