【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

相关推荐
养生技术人26 分钟前
Oracle OCP认证考试题目详解082系列第49题
运维·数据库·sql·oracle·database·开闭原则·ocp
white-persist36 分钟前
SQL 注入详解:从原理到实战
前端·网络·数据库·sql·安全·web安全·原型模式
科兴第一吴彦祖1 小时前
基于Spring Boot + Vue 3的乡村振兴综合服务平台
java·vue.js·人工智能·spring boot·推荐算法
ZhengEnCi2 小时前
🚀创建第一个 SpringBoot 应用-零基础体验开箱即用的神奇魅力
java·spring boot
非凡的世界2 小时前
微服务——SpringBoot使用归纳——Spring Boot中使用拦截器——拦截器的快速使用
spring boot·微服务·架构
骷髅头的寂寞2 小时前
Spring Boot 整合 Thymeleaf 生成 HTML 页面教学
spring boot·html·intellij-idea
cookqq4 小时前
MongoDB源码delete分析oplog:从删除链路到核心函数实现
数据结构·数据库·sql·mongodb·nosql
神仙别闹5 小时前
基于Java(Spring Boot)+MySQL实现电商网站
java·spring boot·mysql
hacker_LeeFei6 小时前
Springboot连接多数据源(MySQL&Oracle)
spring boot·mysql·oracle