Springboot Mybatis XML配置文件

        XML配置文件操作

package com.wzb.MybatisXmlExercise20240925;

public class Xml {

    public static void main(String[] args) {
        System.out.println("Hello XML");
    }
    // XML配置文件规范

    // 使用Mybatis注解的方式的确可以操作数据库,但大多只能完成增删改查等简单的功能,若需要实现复杂的SQL功能,则需要
    // 使用XML配置文件映射语句————也就是将SQL语句写在XML配置文件中

    // 在Mybatis中使用XML映射文件开发,需要符合特定规范:
    // 1.XML映射文件名必须和Mapper接口严格相等,并且将XML映射文件和Mapper接口放置在相同的包下面(同包同名,必须严格相同)
    // XML文件一般都是放在resource目录之下的,需要在resource目录中创建和Mapper接口包同包同名的目录用于存放XML文件
    // 切记:因为在resource目录中无法直接创建软件包,所以说要创建目录,并用/分隔其层级关系

    // 2.XML映射文件的namespace属性必须和Mapper接口的全限定名完全一致
    // 3.XML映射文件中的SQL语句的id必须和Mapper接口的方法名一致,返回值也需要一致;都需要严格相等


    // XML配置文件和注解需要合理使用,在日常开发中,若没有特别要求,那么用注解完成一些简单的增删改查;用XML配置文件完成复杂的SQL功能

}

        XMLMapper

package com.wzb.MybatisXmlExercise20240925;

import com.wzb.Pojo20240925.Emp;
import org.apache.ibatis.annotations.Mapper;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface XmlMapper {

    public List<Emp> conditionSelect(String name, short gender, LocalDate begin, LocalDate end);

}

        XML文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.wzb.MybatisXmlExercise20240925.XmlMapper">
    <!--全类名就是全部包名 + 类名-->
    <!--XML映射文件中的SQL语句的id必须和Mapper接口中的方法名完全一致,并且保持返回值一致-->
    <!--完成条件查询-->
        <select id = "conditionSelect" resultType="com.wzb.Pojo20240925.Emp">
            select * from emp
            where name like concat('%', #{name}, '%')
                    and gender = #{gender}
                    and entrydate between #{begin} and #{end}
            order by update_time desc
        </select>

    <!-- 但是有一个弊端,可见中间都是and连接的,那么当后面的参数(如gender)都是null的时候,即使传递了前面的参数(如name)
     也不会有查询结果,因为不管传递参数没有,都会拼接进SQL语句,这不符合业务逻辑————传递了参数,才进行拼接;若没有参数,则不拼接 -->

</mapper>














 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值