【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

相关推荐
山峰哥19 小时前
查询优化案例:从慢查询到闪电般的查询速度
数据库·sql·性能优化·编辑器·深度优先
杨云龙UP19 小时前
Oracle ASM磁盘组空间分配与冗余理解
linux·运维·数据库·sql·oracle
彭于晏Yan19 小时前
MQTT消息服务
spring boot·后端·中间件
indexsunny19 小时前
互联网大厂Java面试实战:从Spring Boot到微服务架构的深度解析
java·spring boot·spring cloud·kafka·prometheus·security·microservices
java1234_小锋19 小时前
分享一套优质的SpringBoot+Vue咖啡商城系统
vue.js·spring boot·咖啡商城
微学AI19 小时前
一款数据库SQL防火墙:可以拦截99.99%,可以阻止恶意SQL
数据库·sql
悟空码字21 小时前
滑块拼图验证:SpringBoot完整实现+轨迹验证+Redis分布式方案
java·spring boot·后端
qq_4101942921 小时前
SQL语句性能优化
数据库·sql·性能优化
小江的记录本21 小时前
【MyBatis-Plus】Spring Boot + MyBatis-Plus 进行各种数据库操作(附完整 CRUD 项目代码示例)
java·前端·数据库·spring boot·后端·sql·mybatis
码界奇点1 天前
基于Spring Boot的医院药品管理系统设计与实现
java·spring boot·后端·车载系统·毕业设计·源代码管理