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

南通网站建设总结做视频免费模板下载网站

南通网站建设总结,做视频免费模板下载网站,百度权重1是什么意思,优秀网页设计作品文字分析TableName设定表名 1. MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决 定,且默认操作的表名和实体类型的类名一致 2. 若实体类类型的类名和要操作的表的表名不一致,访问数据库表将会报错 3. 在实体类上添加…

@TableName设定表名

1. MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决 定,且默认操作的表名和实体类型的类名一致

2. 若实体类类型的类名和要操作的表的表名不一致,访问数据库表将会报错

3. 在实体类上添加@TableName("表名"),标识实体类对应的表解决

4. 在全局配置中为实体类所对应的表名设置默认的前缀,那么就不需要在每个实体类上通过@TableName标识实体类对应的表

mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 设置MyBatis-Plus的全局配置global-config:db-config:# 设置实体类所对应的表的统一前缀table-prefix: t_

@TableId设定主键

1. MyBatis-Plus在实现CRUD时,会默认将id作为主键列,并在插入数据时,默认基于雪花算法的策略生成id

2. 若实体类或表中表示主键的不是id,而是其他字段例如uid,此时将报错

3. 在实体类中uid属性上通过@TableId将其标识为主键

4. @TableId的value属性

  • 若实体类中主键对应的属性为id,而表中表示主键的字段为uid,此时若只在属性id上添加注解 @TableId,则抛出异常Unknown column 'id' in 'field list',即MyBatis-Plus仍然会将id作为表的 主键操作,而表中表示主键的是字段uid
  • 此时需要通过@TableId注解的value属性,指定表中的主键字段,@TableId("uid")或 @TableId(value="uid")

5. @TableId的type属性

  • 用来定义主键策略
  • 常用的主键策略
描述
IdType.ASSIGN_ID(默 认)基于雪花算法的策略生成数据id,与数据库id是否设置自增无关
IdType.AUTO使用数据库的自增策略,注意,该类型请确保数据库设置了id自增, 否则无效
  • 全局配置主键策略
mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 设置MyBatis-Plus的全局配置global-config:db-config:# 设置实体类所对应的表的统一前缀table-prefix: t_# 设置统一的主键生成策略id-type: auto

雪花算法

1. 雪花算法是由Twitter公布的分布式主键生成算法,它能够保证不同表的主键的不重复性,以及相同表主键的有序性

2. 整体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞,并且效率较高

3. 长度共64bit(一个long型)

  • 1bit标识符号位,由于long基本类型在Java中是带符号的,最高位是符号位,正数是0,负数是1,所以id一般是正数,最高位是0。
  • 41bit时间截(毫秒级),存储的是时间截的差值(当前时间截-开始时间截),结果约等于69.73年
  • 10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID,可以部署在1024个节点)
  • 12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID)

@TableField设定表字段

设置实体类的属性所对应表的字段名

@TableLogic设定逻辑删除

1. 逻辑删除:假删除,将对应数据中代表是否被删除字段的状态修改为“被删除状态”,之后在数据库 中仍旧能看到此条数据记录

2. 数据库中创建逻辑删除状态列,设置默认值为0

3. 实体类中添加逻辑删除属性

@Version设定表数据版本号

1. 乐观锁版本号,每次修改后自动version+1

2. 配置乐观锁插件

@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor(){MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();//添加分页插件interceptor.addInnerInterceptor(newPaginationInnerInterceptor(DbType.MYSQL));//添加乐观锁插件interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor());return interceptor;
}

@EnumValue设定枚举类型插入数据库的值

1. 枚举类定义

2. 配置扫描通用枚举

mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# 扫描通用枚举的包type-enums-package: com.my.mybatisplus.enums

3. 测试

@Test
public void testSexEnum(){User user = new User();user.setName("Enum");user.setAge(20);//设置性别信息为枚举项,会将@EnumValue注解所标识的属性值存储到数据库user.setSex(SexEnum.MALE);//INSERT INTO t_user ( username, age, sex ) VALUES ( ?, ?, ? )//Parameters: Enum(String), 20(Integer), 1(Integer)userMapper.insert(user);
}

@DS设定操作的数据源

1. 引入多数据源依赖

<dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.5.0</version>
</dependency>

2. 数据源配置

spring:# 配置数据源信息datasource:dynamic:# 设置默认的数据源或者数据源组,默认值即为masterprimary: master# 严格匹配数据源,默认false.true未匹配到指定数据源时抛异常,false使用默认数据源strict: falsedatasource:master:url: jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=utf-8&useSSL=falsedriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456slave_1:url: jdbc:mysql://localhost:3306/mybatis_plus_1?characterEncoding=utf-8&useSSL=falsedriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: 123456

3. service层指定访问数据源

@DS("master") //指定所操作的数据源
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements
UserService {
}
http://www.yayakq.cn/news/482779/

相关文章:

  • 网站加速服务一元夺宝网站建设费用
  • 自己做h5网站腾讯地图如何标注自己店铺位置
  • 网站公众平台建设方案电话语音聊天网站建设多少钱
  • 免费推广网站哪家好视频制作公司经营范围
  • 济南小程序网站开发wordpress的字体大小
  • 番禺制作网站设计电商运营的基本流程
  • 湖北做网站价格淘宝客自己做网站
  • 福建大舟建设集团有限公司 网站中国企业信用信息查询网官网
  • 用c 可以做网站吗专为网站做点击量
  • 学校网站建设主要成绩热点事件舆情分析
  • 哪些网站做推广比较有效果手机百度2022年新版本下载
  • 网站建设过程规划和准备阶段宁波网站建设最好的是哪家
  • 绑定网站域名怎么做软件开发工具教材
  • 网站开发的规格描述深圳网站关键词推广
  • 国外访问国内网站速度深圳公司举报网站
  • 腾讯建设网站视频视频全国建设部官方网站
  • 手机版网站推荐想做一个网站
  • 如何写好网站建设方案详情页设计收费
  • 汽车保险网站wordpress放视频播放器
  • 营销型网站建设答辩免费企业查询网站
  • 网站用户 微信商城承德网站开发区地税
  • 为女人网上量体做衣网站wordpress 怎么学
  • 谷歌网站地图广东网页制作与网站建设
  • 网站备案 四川公司网站建设合同书
  • 南昌定制网站开发多少钱广东东莞直播基地
  • 网站设计联系做网站ps图片都是多大
  • 百度优化只做移动网站没有pc站叶县红色家园网站建设
  • 广州天河区网站建设哪些社交网站做外贸比较好
  • ftp 网站 怎么上传文件局域网视频网站建设
  • 长春高档网站建设常德网站制作公司