文档章节

seneca-entity的mysql插件自增主键

w
 wilesun
发布于 2017/03/06 10:52
字数 154
阅读 24
收藏 0
module.exports = {
    plugin: 'mysql-store',
    params: {
        name: 'test11',
        host: 'localhost',
        user: 'root',
        password: 'root',
        port: 3306,
        auto_increment:true
    }
};

seneca-entity的save$的代码分析

var update = !!ent.id

如果有id,则会用update,否则用insert

if (ent.id$) {
  ent.id = ent.id$
  query = QueryBuilder.savestm(ent)
  return done(null, {query: query, operation: 'save'})
}

if (autoIncrement) {
  query = QueryBuilder.savestm(ent)
  return done(null, {query: query, operation: 'save'})
}

如果实体上有id$,则用它来作为实体的id,否则检查是否是自增的,自增的配置是在plugin的参数中指定,auto_increment:true

否则会调

seneca.act({role: actionRole, hook: 'generate_id', target: args.target}, function (err, result) {

来生成一个uuid,注意:这个uuid是36位,不是我们常用的32位

© 著作权归作者所有

w
粉丝 2
博文 193
码字总数 70049
作品 0
成都
架构师
私信 提问
MySQL实现序列(Sequence)效果以及在Mybatis中如何使用这种策略

前言: 在oracle中一般使用序列(Sequence)来处理主键字段,在MySQL中是没有序列的,但是MySQL有提供了自增长(increment)来实现类似的目的,但也只是自增,而不能设置步长、开始索引、是否循环...

pangfc
2017/01/06
0
0
潘韬/getting-started-seneca

Seneca :NodeJS 微服务框架入门指南 Seneca 是一个能让您快速构建基于消息的微服务系统的工具集,你不需要知道各种服务本身被部署在何处,不需要知道具体有多少服务存在,也不需要知道他们具...

潘韬
2017/01/06
0
0
简单的 ORM 框架 - leopard-jdbc

leopard 是一个简单的 orm 框架,基于注解扫描,实现了自动建表,增删改查,多表外键连接,分页查询,还有简单的逆向工程。 一. leopard 快速上手: 引入核心 jar 包 leopard-orm.jar 引入所...

akcgf
2018/04/26
463
1
基于按annotation的hibernate主键生成策略

这里讨论代理主键,业务主键(比如说复合键等)这里不讨论。 一、JPA通用策略生成器 通过annotation来映射hibernate实体的,基于annotation的hibernate主键标识为@Id, 其生成规则由@Generate...

_白开水_
2013/10/02
125
0
mybatis自增主键配置

mybatis自增主键配置 mybatis进行插入操作时,如果表的主键是自增的,针对不同的数据库相应的操作也不同。基本上经常会遇到的就是 Oracle Sequece 和 MySQL 自增主键,至于其他的手动生成唯一...

李永china
2016/05/20
4
0

没有更多内容

加载失败,请刷新页面

加载更多

Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
10分钟前
3
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
今天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
今天
4
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
今天
0
0
Linux创建yum仓库

第一步、搞定自己的光盘 #创建文件夹 mkdir -p /media/cdrom #挂载光盘 mount /dev/cdrom /media/cdrom #编辑配置文件使其永久生效 vim /etc/fstab 第二步,编辑yun源 vim /ect yum.repos.d...

究极小怪兽zzz
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部