文档章节

seneca-entity的mysql插件自增主键

w
 wilesun
发布于 2017/03/06 10:52
字数 154
阅读 23
收藏 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
04/26
0
0
基于按annotation的hibernate主键生成策略

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

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

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

李永china
2016/05/20
4
0

没有更多内容

加载失败,请刷新页面

加载更多

区块链教程以太坊源码分析chain-indexer区块链索引一

兄弟连区块链教程以太坊源码分析chain-indexer区块链索引一 chain_indexer 区块链索引 chain_indexer.go 源码解析 chain_indexer 顾名思义, 就是用来给区块链创建索引的功能。 之前在eth协议...

兄弟连区块链入门教程
8分钟前
0
0
社会化分享插件集成分享

一.前提摘要 社会化分享每个app必备的推广需求,无论是拉新,邀请,游戏奖励,等等都离不开分享的影子,下面我们介绍下社会化分享的插件; 首先要说下,现在的社交App,社区App等,国内外的...

佳妮
8分钟前
0
0
IOC 之 Spring 统一资源加载策略

统一资源:Resource org.springframework.core.io.Resource 为 Spring 框架所有资源的抽象和访问接口 它继承 org.springframework.core.io.InputStreamSource接口 作为所有资源的统一抽象,S...

职业搬砖20年
9分钟前
0
0
Python爬虫实战入门一:工具准备

一、基础知识 使用Python编写爬虫,当然至少得了解Python基本的语法,了解: 基本数据结构 数据类型 控制流 函数的使用 模块的使用 不需要过多过深的Python知识,仅此而已。 个人推荐《Pytho...

糖宝lsh
13分钟前
0
0
Hanlp中使用纯JAVA实现CRF分词

Hanlp中使用纯JAVA实现CRF分词 与基于隐马尔可夫模型的最短路径分词、N-最短路径分词相比,基于条件随机场(CRF)的分词对未登录词有更好的支持。本文(HanLP)使用纯Java实现CRF模型的读取与...

左手的倒影
15分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部