【SpringBoot】Day10-09 动态SQL-XML文件

动态SQL-XML文件的三点规范

1.XML映射文件的名称与Mapper接口名称保持一致,并且将XML映射文件和Mapper接口放置在相同包下(同包同名)- 在项目开发当中,一般都是一个接口对应一份儿映射配置文件;

2.XML映射文件的namespace{命名空间}属性与Mapper接口的全限定名{包名+接口名}一致;3.XML映射文件中SQL语句的id与Mapper接口中的方法名一致,并保持返回类型一致。

  • 同包同名
    • 包名是mapper接口所在包。com.itheima.mapper
    • 包下定义一个配置文件,名字和接口名字保持一致
    • 先创建一个目录,由于是目录,用斜杠/分割,com/itheima/mapper ,创建好后包名还是com.itheima.mapper
      • 创建文件时一定不要用点,否则会报错找不到XML文件
    • 包下定义的文件,EmpMapper.xml
    • xml配置文件,上面是要有约束的,可以去mybatis中文网官方文档查找
java 复制代码
<?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">
  • namespace{命名空间}属性与Mapper接口的全限定名{包名+接口名}一致
java 复制代码
<mapper namespace="com.itheima.mapper.EmpMapper">
  • SQL语句的id与Mapper接口中的方法名一致,并保持返回类型一致。
java 复制代码
 <select id="list" resultType="com.itheima.pojo.Emp">

IntelliJ IDEA 中创建目录时 `.` 和 `/` 的区别

1. 使用 . 创建多级目录

适用场景:在 src 目录下创建包(package)时。

示例:假设我们需要在 src 目录下创建一个名为 com.example.demo 的包,可以通过以下步骤实现:

右键点击 src 目录。

选择 New -> Package。

在弹出的对话框中输入 com.example.demo。

结果:IDEA 会自动创建一个三层嵌套的目录结构 com/example/demo。

2. 使用 / 创建多级目录

适用场景:在 resources 目录下创建多级目录时。

示例:假设我们需要在 resources 目录下创建一个名为 com/example/demo 的目录结构,可以通过以下步骤实现:

右键点击 resources 目录。

选择 New -> Directory。

在弹出的对话框中输入 com/example/demo。

结果:IDEA 会自动创建一个三层嵌套的目录结构 com/example/demo。

注意事项

错误使用分隔符:如果在 resources 目录下使用 . 作为分隔符,例如输入 com.example.demo,IDEA 会将整个字符串(包括点)识别为一个单一的目录名,从而导致资源文件路径配置错误。这在使用 MyBatis 等框架时尤为常见,因为这些框架通常需要精确的资源路径配置。

标准目录结构:对于 Maven 或 Gradle 管理的项目,建议遵循标准的目录结构:

src/main/java 用于存放 Java 源码。

src/main/resources 用于存放资源文件,如配置文件、SQL 文件等。

结论

在 IntelliJ IDEA 中创建多级目录时,正确选择分隔符非常重要。. 适用于 src 目录下的包创建,而 / 则适用于 resources 目录下的多级目录创建。

原文链接:https://blog.csdn.net/wenxuankeji/article/details/143529233

相关推荐
白仑色1 小时前
Spring Cloud Gateway 实战指南
spring boot·微服务·路由转发·限流熔断
追风少年浪子彦7 小时前
mapstruct与lombok冲突原因及解决方案
java·spring boot·spring·spring cloud
军军君017 小时前
基于Springboot+UniApp+Ai实现模拟面试小工具四:后端项目基础框架搭建下
spring boot·spring·面试·elementui·typescript·uni-app·mybatis
白仑色9 小时前
完整 Spring Boot + Vue 登录系统
vue.js·spring boot·后端
MZ_ZXD0019 小时前
flask校园学科竞赛管理系统-计算机毕业设计源码12876
java·spring boot·python·spring·django·flask·php
Kay_Liang10 小时前
MySQL SQL语句精要:DDL、DML与DCL的深度探究
开发语言·数据库·sql·mysql·database
小郭的学习日记11 小时前
互联网大厂Java面试:从Spring Boot到微服务的场景应用
spring boot·微服务·java面试·技术栈·电商平台
超级小忍11 小时前
在 Spring Boot 中使用 MyBatis 的 XML 文件编写 SQL 语句详解
xml·spring boot·mybatis
Q_Q196328847512 小时前
python的平安驾校管理系统
开发语言·spring boot·python·django·flask·node.js·php