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

深圳比较好的建站公司简单 网站设计

深圳比较好的建站公司,简单 网站设计,政务大厅网站建设管理制度,什么类型的网站容易做主键策略(ID自动生成) 以下是MyBatis-Plus中常见的几种主键生成策略及其对应的枚举值(3.3.0之前的版本): 主键生成策略枚举值数据库自增IdType.AUTO用户输入IdType.INPUT分布式全局唯一IDIdType.ID_WORKER分布式全局…

主键策略(ID自动生成)

以下是MyBatis-Plus中常见的几种主键生成策略及其对应的枚举值(3.3.0之前的版本):

主键生成策略枚举值
数据库自增IdType.AUTO
用户输入IdType.INPUT
分布式全局唯一IDIdType.ID_WORKER
分布式全局唯一ID(字符串类型)IdType.ID_WORKER_STR
UUIDIdType.UUID
雪花算法全局唯一IDIdType.SNOWFLAKE
雪花算法全局唯一ID(字符串类型)IdType.SNOWFLAKE_STR

3.3.0之后的版本:

描述
AUTO数据库自增,适用于MySQL、SQL Server等数据库
INPUT手动输入,适用于全局唯一ID的情况,自定义
ASSIGN_UUID32位UUID字符串
ASSIGN_ID分布式全局唯一ID,雪花算法生成
NONE无状态,可以通过全局唯一ID进行填充
public enum IdType {AUTO(0),            //数据库自增长,mysql的自增长主键NONE(1),            //未设置INPUT(2),           //自定义设置ASSIGN_ID(3),   //分配 ID(主键类型为 Number(Long 和 Integer)或 String)(since 3.3.0),//使用接口IdentifierGenerator的方法nextId(默认实现类为DefaultIdentifierGenerator雪花算法)ASSIGN_UUID(4); //分配 UUID,主键类型为 String(since 3.3.0),//使用接口IdentifierGenerator的方法nextUUID(默认default 方法)private final int key;private IdType(int key) {this.key = key;}public int getKey() {return this.key;}
}

配置文件中全局配置:

#配置数据源
spring:datasource:druid:url: jdbc:mysql://localhost:3306/book_db?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=trueusername: rootpassword: 123driver-class-name: com.mysql.cj.jdbc.Driver#mybatisplus配置
mybatis-plus:global-config:db-config:#配置id自增长,ID自动生成策略id-type: autoconfiguration:#配置mybatisplus日志log-impl: org.apache.ibatis.logging.stdout.StdOutImplmapper-locations: classpath:/mapper/*.mapper.xml      #xml文件的位置(resources下的mapper文件夹)

注: 实体类@TableId注解的type属性会覆盖全局属性,优先以各实体类的配置为主,未配置的则全局配置生效

公共字段自动填充的使用

  1. 实体类公共字段 添加@TableField注解,配置fill属性:
描述
INSERT插入时填充
UPDATE更新时填充
INSERT_UPDATE插入和更新时填充
DEFAULT默认不填充
  1. 实现MetaObjectHandler接口,重写insertFill和updateFill方法,并注册为Bean
@Slf4j
@Component
public class MybatisplusHandler implements MetaObjectHandler {// 插入时的填充策略/*** 数据创建时间的属性名*/public static final String FIELD_CREATE_TIME = "createTime";/*** 数据最后修改时间的属性名*/public static final String FIELD_UPDATE_TIME = "updateTime";public static final String FIELD_CREATE_USER = "createUser";public static final String FIELD_UPDATE_USER = "updateUser";@Overridepublic void insertFill(MetaObject metaObject) {LocalDateTime now = LocalDateTime.now();Long id = BaseContext.getCurrentId();log.info("开始执行插入时的自动填充");log.info("metaob{}",metaObject.toString());this.strictInsertFill(metaObject,FIELD_CREATE_USER, Long.class, id);this.strictUpdateFill(metaObject,FIELD_UPDATE_USER, Long.class, id);this.strictInsertFill(metaObject,FIELD_CREATE_TIME, LocalDateTime.class, now);this.strictUpdateFill(metaObject,FIELD_UPDATE_TIME, LocalDateTime.class, now);}@Overridepublic void updateFill(MetaObject metaObject) {LocalDateTime now = LocalDateTime.now();Long id = BaseContext.getCurrentId();this.strictUpdateFill(metaObject,FIELD_UPDATE_TIME, LocalDateTime.class, now);this.strictUpdateFill(metaObject,FIELD_UPDATE_USER, Long.class, id);}
}

注意事项:在使用公共字段自动填充和id自动生成时,自定义的insert和update的Mapper方法不得进行判空,否则自动填充不生效。这是由于mybatisplus的底层是先执行自定义的SQL,后填充。此时公共自段未传入,如果进行判空的话,mybatis就不会拼接该字段,后面填充时也不会插入该字段。

 <insert id="insert" parameterType="com.sky.entity.Employee">INSERT INTO employee<trim prefix="(" suffix=")" suffixOverrides=",">id,<if test="name != null">name,</if><if test="username != null">username,</if><if test="password != null">password,</if><if test="phone != null">phone,</if><if test="sex != null">sex,</if><if test="idNumber != null">id_number,</if><if test="status != null">status,</if>create_time,update_time,create_user,update_user</trim>VALUES<trim prefix="(" suffix=")" suffixOverrides=",">#{id,jdbcType=BIGINT},<if test="name != null">#{name,jdbcType=VARCHAR},</if><if test="username != null">#{username,jdbcType=VARCHAR},</if><if test="password != null">#{password,jdbcType=VARCHAR},</if><if test="phone != null">#{phone,jdbcType=VARCHAR},</if><if test="sex != null">#{sex,jdbcType=VARCHAR},</if><if test="idNumber != null">#{idNumber,jdbcType=VARCHAR},</if><if test="status != null">#{status,jdbcType=INTEGER},</if>#{createTime,jdbcType=TIMESTAMP},#{updateTime,jdbcType=TIMESTAMP},#{createUser,jdbcType=BIGINT},#{updateUser,jdbcType=BIGINT}</trim></insert>```
http://www.yayakq.cn/news/184608/

相关文章:

  • 学院网站建设策划书事件营销的案例有哪些
  • 计算机多媒体辅助教学网站开发如何自己创造网站
  • 营销型企业网站有哪些开发公司承担物业费的规定
  • 网站方案如何用手机做网站
  • 多人在线网站开发wordpress分类固定链接
  • 网站浏览排名滁州seo
  • 网站设计制作培训建设工程合同管理目标
  • 个人网站模板吧恩施兴州建设工程责任有限公司网站
  • 营销型网站的布局东莞 网站建设收费
  • 广安网站建设公司百度联盟的网站怎么做
  • 西安电商平台网站网站备案 哪个省最松
  • 网站建设公司软件开简单好看的版面设计图
  • 张家港外贸型网站制作横琴注册公司代理
  • 网站的整体风格包括网站回头率
  • 网站运营怎么样深圳龙岗区景点
  • 济南企业做网站推广网站关于建设网站的书本
  • 北京平台网站建设价位WordPress转typecho主题
  • 天津做网站的公司排行做h的游戏 迅雷下载网站
  • 长沙好的网站建设公司排名唐山网站制作公司
  • 制作钓鱼网站属于什么罪深圳app开发
  • 重庆seo整站优化效果济南专业网站建设咨询
  • 网站的管理包括c语言除了做网站还能干什么
  • 只做画册的网站wordpress英文版中文版
  • 专科网站开发简历天津市住房与城乡建设部网站
  • dedecms 食品网站软件技术论坛
  • 网站的定义周易网站建设
  • 深圳优定软件网站建设个人网站页面设计素材
  • 甘肃酒泉建设银行网站网站制作的内容包含
  • 做aelogo动效有什么好的网站ps软件下载免费中文版
  • 广东企业网站seo哪家好怎麽做网站