scalikeJDBC的restapi
ScalikeJDBC是一个Scala的JDBC框架,适用于绝大多数RDBMS数据库(关系数据库)
重要的是,在这几天简单的使用了一下,用sqlserver来测试了一下用mysql或者h2的scalikeJDBC,可以得出结果:
- 数据库语言的语法和driver相对应。
- 而scalikeJDBC的代码可通用,多个不同数据库能一起使用,和能够读取相关线程池HikariCP(保持和数据库的连接)的配置文件
- 不同的是线程池内的相关数据库配置文件(包含驱动等相关信息)和不同是数据库语言的语法
当要把scalikeJDBC做成rest-sql,应该考虑的重点是,
- 返回类型转化为Map键值对
- scalikeJDBC与不同的数据库之间的共同关联
- repo对应的方法和JDBCEngine的方法
- 在scalikejdbc内的SQL类内方法
- 考虑到存在批量操作,需要fetchSize参数和是否authcommit,即事务
- 首先,在安装了sqlserver后,简单的使用了数据库语言进行增删改查,能够看到需要的,执行后的结果是:(执行的行数)和(时间)
- 数据库内的DDL和DML,
- DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用
- DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言
- rest中的put 、post、get和delete,考虑相对应的数据库内的读写分离,
- scalikeJDBC是把sql语句切分开成为具体sql(SELECT等句子)和参数。===》SQL SERVER =》回来具体的流或者具体的数据。
- 整个数据库和编码的数据格式的转换,例如sql server中没有存在blob格式,不同的数据库要注意mysql或者sqlserver等数据库的数据等格式,其中主要的 是时间戳的TIMESTAMP的格式转换和图片的格式转换。
- scalikeJDBC的engine将scalikeJDBC中的具体执行过程分别成为不同的过程。
//将sql语句执行的固定scalikeJDBC语句
NamedDB(ctx.dbName) localTx { implicit session => } - 当我用execute能够执行很多数据库内的语言,对表的增删改、索引、视图的增删改等
val createSQL: SQL[Nothing,NoExtractor] =SQL(""" """)
createSQL.execute.apply()(NamedAutoSession(dbname)) - 具体拆分sql server语句和参数,通过url+sql语句,而拆分语句和参数,具体执行
- 键值对,_*==>拆分seq等集合,把Seq展开, 变成很多个参数的意思
- 明确
queryTags等具体需求等。。。。。。
- scalikeJDBC的同步与异步。
- 交易控制
考虑好反应式流的具体功能与需求
scalikeJDBC的restapi的更多相关文章
- restapi(3)- MongoDBEngine : MongoDB Scala编程工具库
最近刚好有同事在学习MongoDB,我们讨论过MongoDB应该置于服务器端然后通过web-service为客户端提供数据的上传下载服务.我们可以用上节讨论的respapi框架来实现针对MongoDB ...
- restapi(4)- rest-mongo : MongoDB数据库前端的httpserver
完成了一套标准的rest风格数据库CRUD操作httpserver后发现有许多不足.主要是为了追求“通用”两个字,想把所有服务接口做的更“范generic”些,结果反而限制了目标数据库的特点,最终产生 ...
- restapi(8)- restapi-sql:用户自主的服务
学习函数式编程初衷是看到自己熟悉的oop编程语言和sql数据库在现代商业社会中前景暗淡,准备完全放弃windows技术栈转到分布式大数据技术领域的.但是在现实中理想总是不如人意,本来想在一个规模较小的 ...
- 中国Azure媒体服务RESTAPI的Endpoint
Amber Zhao Thu, Feb 26 2015 4:09 AM 由于海外Azure和中国Azure有不同的domain,很多用户在使用媒体服务RESTAPI时,需要指定中国Azure媒体服务 ...
- Flask框架搭建REST-API服务
一.目的 为了能够将测试工具部署成RESTful-API服务,这样就能通过接口的方式提供统一测试工具服务,使用人员就不用构建application而产生的各种环境问题.使用问题. 适合人群:Pytho ...
- [svc]简单理解什么是rpc调用?跟restapi有何区别?
什么是rpc调用 restapi调用方式是对数据的crud. 常见的我们写flash写个api,或者借助django drf写个标准的resetapi,一个url可以借助httpget post pu ...
- 调用kylin的restAPI接口构建cube
调用kylin的restAPI接口构建cube 参考:http://kylin.apache.org/docs/howto/howto_build_cube_with_restapi.html 1. ...
- geoserver源码学习与扩展——restAPI访问
产生这篇文章的想法是在前端通过js调用restAPI时,总是不成功,发送ajax请求时还总是出现类似跨域的问题,后来查找才发现,默认情况下restAPI的访问都需要管理员权限,而通过ajax请求传输用 ...
- ryu的RESTAPI简介——我主要用于下发和查看流表
一.Rest API简介 REST即表述性状态传递(RepreSentational State Transfer),是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性. 表 ...
随机推荐
- BiLSTM-CRF学习笔记(原理和理解) 维特比
BiLSTM-CRF 被提出用于NER或者词性标注,效果比单纯的CRF或者lstm或者bilstm效果都要好. 根据pytorch官方指南(https://pytorch.org/tutorials/ ...
- HTML让文字在图片上显示的几种方法
第一种方式是image 作为背景图片,即:background:url("......."); 第二种方式是将img块与文字块(文字块采用span标签显示)放在同一个div 中,然 ...
- 【b804】双栈排序
Time Limit: 1 second Memory Limit: 50 MB [问题描述] Tom最近在研究一个有趣的排序问题.如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入 ...
- webpack优化 -- compression-webpack-plugin 开启gzip
webpack优化 -- compression-webpack-plugin 开启gzip 打包的时候开启gzip可以大大减少体积,非常适合于上线部署.下面以vue-cli2.x项目为例,介绍如何在 ...
- 聚类——DBSCAN
转载自: https://www.cnblogs.com/pinard/p/6208966.html http://www.cnblogs.com/pinard/p/6217852.html http ...
- vue中 js获取图片尺寸 设置不同样式
1.JS: 请求到后端数据后 判断图片尺寸 2.HTML代码 根据设置的类型,给图片添加不同的样式 3.CSS代码 添加不同尺寸的样式
- slim中的请求头
请求头 每个 HTTP 请求都有请求头.这些元数据描述了 HTTP 请求,但在请求体中不可见.Slim 的 PSR 7 请求对象提供了几个检查请求头的方法. 获取所有的请求头,返回一个数组:getHe ...
- 使用struts2进行登录功能的开发
使用struts2进行登录功能的开发 一. 设计需求 使用idea和maven开发具有登录功能的web应用,java语言,使用struts2框架. 二. 设计步骤 1.使用idea创建maven应用, ...
- Python自定义函数的参数
在Python中自定义的函数可以有三类不同的参数 formal parameters positional arguments Keyword Arguments When a final forma ...
- 38.CSS
转载:https://www.cnblogs.com/yuanchenqi/articles/5977825.html css概述 CSS是Cascading Style Sheets的简称,中文称为 ...