首页 > 其他分享 >Mybatis-Plus中的@TableName 和 table-prefix

Mybatis-Plus中的@TableName 和 table-prefix

时间:2024-08-19 10:16:08浏览次数:14  
标签:TableName prefix Plus 表名 Mybatis table tb

简介

本文介绍Mybatis-Plus中的@TableNametable-prefix的使用。

介绍

MyBatis-Plus 中,@TableName 注解和 table-prefix 配置都可以用来指定表名,但它们的作用方式略有不同。

table-prefix 配置

table-prefix 是一个全局配置,它会自动在所有表名前添加指定的前缀,这个配置对于那些使用一致命名约定的数据库表非常有用

  • YAML 格式 (application.yml)
mybatis-plus:
  global-config:
    db-config:
      table-prefix: tb_   # 示例前缀
  • Properties 格式 (application.properties)
mybatis-plus.global-config.db-config.table-prefix=tb_   # 示例前缀

例如,如果有一个实体类名为 User,并且配置了 table-prefix: tb_,那么 MyBatis-Plus 在生成 SQL 语句时将会使用表名 tb_user 而不是 user。

这可以帮助确保在数据库和代码之间的一致性,并且使数据库表命名更加规范化

@TableName 注解

@TableName 注解直接应用于实体类上,用于明确指定该实体类所对应的数据库表名。这是一种非常直接的方式,可以覆盖任何全局配置(例如table-prefix)。

@TableName("users")
public class User {
    // ...
}

在这种情况下,即使配置了 table-prefix: tb_,表名仍然是 users 而不是 tb_users

概括:
如果没有使用 @TableName 注解,table-prefix 将被应用到默认的表名上。
如果使用了 @TableName 注解,那么表名将完全按照注解中指定的值来确定,不会受到 table-prefix 的影响。


结束

标签:TableName,prefix,Plus,表名,Mybatis,table,tb
From: https://www.cnblogs.com/zktww/p/18366809

相关文章

  • Mybatis学习日记-day7-动态sql
    一、学习目标        在之前的学习中,使用的都是静态sql,而动态SQL相比静态SQL具有多个显著的优点。    首先。,动态SQL允许根据程序运行时的条件和需求来动态地生成SQL语句。这意味着它可以根据不同的情境和需求生成不同的SQL语句,从而提供更高的灵活性和适应......
  • springboot项目中mybatis的dao接口实现类是如何添加到spring容器中的
    一、@Mapper注解在springboot+mybatis的工程中,如果不做特殊配置,mybatis会查找有@Mapper的接口创建其代理对象添加到spring容器中,接下来就来分析下这个是如何实现的。关键点就在MybatisAutoConfiguration这个自动配置类中publicclassMybatisAutoConfiguration{//这个配......
  • MybatisPlus分页查询详解
    MybatisPlus分页查询详解一直对于分页查询的插件用的不是很熟练,这次在学习mp的时候又一次学到了分页查询,在这个过程中发现学到的东西挺多的,想着可以分享给大家,往下看前请保证对泛型以及函数式接口编程有一定了解1MybatisPlus的基础介绍这边主要是讲解他的一个分......
  • 科普文:MyBatis系列之【Mybatis常用的4种拦截器】
    MyBatis拦截器的工作原理MyBatis的拦截器是一个十分强大的特性,它可以让我们在MyBatis调用数据库操作的过程中插入自己的逻辑,非常适合做一些数据操作的审计、性能优化、事务管理、执行日志输出等。MyBatis的拦截器机制基于AOP(面向切面编程),允许在执行SQL语句前后插入自......
  • 基于flask+vue框架的基于mybatis的医用器械管理系统[开题+论文+程序]-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着医疗技术的飞速发展,医用器械在医疗机构中的重要性日益凸显。然而,传统的手工或简单信息系统管理方式已难以满足现代医院对器械管理的高......
  • Mybatis里PageHelper的分页
    com.github.pagehelper.Page#Page(int,int,boolean,java.lang.Boolean)130pageNum==1&&pageSize==Integer.MAX_VALUE设置则不分页,设置pageSize=0并且pageSizeZero=true继续看拦截器请求注意如果是平时,pageSize<=0是不会去分页,pageSize=0回去count,com.github.pa......
  • 你真的懂Mybatis分页原理吗?
    目录一、Mybatis如何实现分页?1.1在SQL中添加limit语句1.2基于PageHelper分页插件,实现分页1.3 基于RowBounds实现分页1.4基于MyBatis-Plus实现分页二、RowBounds的分页原理三、PageHelper的分页原理四、Mybatis-Plus的分页原理五、Mybatis-Plus实现分页5.1添加分......
  • 读取配置连接信息,利用mybatis进行数据库连接操作
    mybatisConnConfig.properties配置文件内容default.configpath=config/mybatis/mybatis-config.xmldw.jdbc.system.driver=com.mysql.jdbc.Driverdw.jdbc.system.url=dw.jdbc.system.username=dw.jdbc.system.password=ralid.jdbc.system.driver=com.mysql.jdbc.Driver......
  • SpringBoot整合MyBatis,入门教程,细节无敌,不能错过
    需求SpringBoot整合MyBatis。实现步骤搭建SpringBoot工程引入mybatis起步依赖、添加mysql驱动编写DataSource和MyBatis相关配置定义表和实体类编写dao和mapper文件/纯注解开发测试惨痛的教训同一个项目里,application.*文件只能有一个,如果有多个就会出现一些神奇问题......
  • Mybatis如何动态生成插入的列及批量插入值
    有时会遇到根据特定的情况动态创建表,并对表进行批量插入,对于Mybatis来说,也是非常简单的。先看dao层voidinsertBatch(@Param("tableName")StringtableName,@Param("dbColumns")List<String>dbColumns,@Param("dbValues")List<LinkedHashMap>dbValues);注:这里的值d......