当前位置: 首页 > news >正文

宝山手机网站制作公司在一个网站的各虚拟目录中默认文档的文件名要相同

宝山手机网站制作公司,在一个网站的各虚拟目录中默认文档的文件名要相同,网站规划有前途吗,网站建设加盟代理1. TableName(1) 解释说明TableName 注解用于 指定实体类对应的数据库表名,当实体类的名称与数据库表名不一致时,可以用此注解进行映射。此外,TableName 还支持设置一些其他的配置选项,比如全局表名前缀、后缀的处理。value&#…

1. @TableName

(1) 解释说明

@TableName 注解用于 指定实体类对应的数据库表名,当实体类的名称与数据库表名不一致时,可以用此注解进行映射。此外,@TableName 还支持设置一些其他的配置选项,比如全局表名前缀、后缀的处理。
  • value:指定数据库表名。如果没有设置此注解,则会默认映射到与类名相同的表名。
  • schema:指定数据库的 schema,适用于多 schema 的情况。

(2) 应用示例

假设有一个 User 实体类对应数据库中的 user_info 表:
import com.baomidou.mybatisplus.annotation.TableName;@TableName("user_info")
public class User {private Long id;private String name;private Integer age;
}

如果不使用 @TableName,MyBatis-Plus 默认认为表名与类名一致,即表名为 user。此时需要用 @TableName("user_info") 来指定正确的表名。

(3) 使用场景

  • 表名与实体类名不一致:例如实体类名 User 对应表名 user_info。
  • 需要动态修改表名的场景:比如多租户情况下,不同租户的表前缀不同,使用 @TableName 可以灵活控制。

(4) 注意事项

  • 大小写问题:数据库表名的大小写敏感性因数据库类型而异(例如 MySQL 默认不区分大小写,而 PostgreSQL 区分)。因此,在使用 @TableName 时,确保表名与数据库一致。
  • 表前缀/后缀:在项目中可能有统一的前缀或后缀要求。使用 @TableName 可以覆盖全局配置中的前缀后缀。

2. @TableId

(1) 解释说明

@TableId 注解用于标识实体类中的主键字段,并且可以指定主键的生成策略。主键策略有多个选项:

  • IdType.AUTO:自增类型,通常用于数据库支持自动增长的字段(如 MySQL 的 AUTO_INCREMENT)。
  • IdType.ASSIGN_ID:全局唯一 ID,使用 MyBatis-Plus 提供的雪花算法生成主键 ID。
  • IdType.INPUT:由用户输入的 ID。
  • IdType.NONE:不使用 MyBatis-Plus 的主键生成策略。

(2) 应用示例

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.IdType;public class User {@TableId(value = "id", type = IdType.ASSIGN_ID)private Long id;  // 使用雪花算法生成主键private String name;private Integer age;
}

(3) 使用场景

  • 数据库支持自增主键:如 MySQL 中的 AUTO_INCREMENT。
  • 分布式系统中主键生成:如使用雪花算法(ASSIGN_ID),确保生成全局唯一 ID。
  • 手动输入主键值:当需要由应用层或用户控制主键生成时,使用 INPUT。

(4) 注意事项

  • 自增主键类型:若数据库表的主键使用了自增策略,@TableId(type = IdType.AUTO) 是最常用的方式。
  • 雪花 ID:ASSIGN_ID 生成的 ID 可以保证全局唯一,但生成的值是一个长整型 ID,需考虑前端显示时的精度问题(JavaScript 的整数精度限制)。
  • 主键名称与字段名称不一致:如果数据库字段名不为 id,必须使用 @TableId(value = "column_name") 显式指定。

3. @TableField

(1) 解释说明

@TableField 注解用于标识实体类中的非主键字段与数据库表的对应关系。可以设置字段映射关系、参与 SQL 操作的方式以及是否需要自动填充等。

  • value:指定数据库表的字段名。如果字段名与类属性名一致,可以省略。
  • exist:设置该字段是否为数据库表中的字段。false 表示该字段不映射到数据库表。
  • select:设置该字段是否在查询时被查询到,false 表示不查询。
  • fill:自动填充策略,控制插入或更新时字段的自动填充。

(2) 应用示例

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;public class User {@TableIdprivate Long id;@TableField("user_name")private String name;  // 映射到数据库的 user_name 字段@TableField(exist = false)private String tempData;  // 该字段不与数据库映射@TableField(fill = FieldFill.INSERT)private LocalDateTime createTime;  // 在插入时自动填充
}

(3) 使用场景

  • 字段名与数据库列名不一致:例如 Java 字段为 userName,而数据库字段为 user_name。
  • 不需要持久化的字段:例如 transient 字段,用 @TableField(exist = false) 标记不映射到数据库。
  • 自动填充:对于如创建时间、更新时间等字段,使用 @TableField(fill = FieldFill.INSERT) 配合 MetaObjectHandler 自动填充。

(4) 注意事项

  • exist = false 的字段不会出现在 SQL 中,因此不参与任何数据库操作。
  • 自动填充:需要实现 MetaObjectHandler 接口并注册到 MyBatis-Plus 配置中。
  • 性能:在大数据量情况下,尽量避免使用 select=false,因为会导致全表扫描。

4. @TableLogic

(1) 解释说明

@TableLogic 注解用于 实现逻辑删除。通过将数据库中的某个字段作为标记来表示记录是否被删除,而不是真正删除数据。这对于软删除(例如删除用户但保留其历史数据)非常有用。

  • value:表示未删除的标记值(默认为 0)。
  • delval:表示删除的标记值(默认为 1)。

(2) 应用示例

import com.baomidou.mybatisplus.annotation.TableLogic;public class User {@TableIdprivate Long id;private String name;@TableLogic(value = "0", delval = "1")private Integer deleted;  // 0 表示未删除,1 表示已删除
}

(3) 使用场景

  • 软删除:例如,删除用户或订单时不需要物理删除记录,而是通过设置某个字段值为删除标记来进行“删除”。
  • 审计功能:有时出于审计的需求,需要保留历史数据以便查询。

(4) 注意事项

  • deleted 字段必须存在,且需要明确其作用(例如,0 表示未删除,1 表示已删除)。
  • 查询时过滤已删除的数据:MyBatis-Plus 会自动为逻辑删除字段添加查询条件,防止查询到已删除的数据。但如果需要查询已删除的数据,需手动指定 Wrapper 进行查询。
  • 自动处理:MyBatis-Plus 会在执行 delete 操作时自动处理逻辑删除。若需要真正删除数据,可以调用 deleteById 等方法。
http://www.dtcms.com/a/612661.html

相关文章:

  • 如何在网站上做用工登记百度电话人工服务
  • 烟台做网站联系电话创意设计说明范文
  • 天津市建设工程信息网站一起做网店17广州沙河
  • 荣成信用建设官方网站做网站需要硬件设施
  • 网站设计应该怎么做网站建设建站流程方案
  • 博客是哪个软件合肥网站推广优化
  • 绍兴网站建设方案报价以前老网站
  • 重庆教育建设有限公司网站小米路由器3做网站
  • 做服装公司需要什么网站做网站怎么去工信部缴费
  • 网站缓存实例行业门户网站案例分析
  • cms网站开发流程安卓app下载官方正式版
  • 貴阳建设银行网站商业网点是什么意思
  • 部门网站 法规制度 建设情况商城网站建设都有哪些类型
  • 设计公司给公司做网站用了方正字体手机端网站建设教程视频
  • 大学两学一做网站深圳房产备案查询官网
  • 阿里云虚拟主机如何上传网站深圳宝安国际机场
  • 网站怎么在百度做推广湖南省城乡与建设厅网站
  • 洛阳便宜网站建设公司福田建设大型网站建设公司好吗
  • 营销型网站功能表谷歌浏览器官网下载手机版
  • 深圳微信网站制作中国高定十大品牌
  • 做阿里巴巴的网站的费用宁波seo网站排名优化
  • 中天会展中心网站建设方案做淘宝那样的网站
  • 哪个做网站公司好忘记wordpress登录密码忘记
  • 淘宝刷单的网站建设萍乡手机网站建设
  • 网站程序优化深圳网站建设认准乐云
  • 建设银行信用卡官网站大良营销网站建设特色
  • 安微省住房和城乡建设厅网站装修公司网站建设的意义
  • 快刷网站wordpress 怎么安装
  • 搭建网站的主要风险建站平台哪个最好
  • iis 建设网站网上做翻译兼职网站好