ScalikeJDBC是一个Scala的JDBC框架,适用于绝大多数RDBMS数据库(关系数据库)

重要的是,在这几天简单的使用了一下,用sqlserver来测试了一下用mysql或者h2的scalikeJDBC,可以得出结果:

  • 数据库语言的语法和driver相对应。
  • 而scalikeJDBC的代码可通用,多个不同数据库能一起使用,和能够读取相关线程池HikariCP(保持和数据库的连接)的配置文件
  • 不同的是线程池内的相关数据库配置文件(包含驱动等相关信息)和不同是数据库语言的语法

当要把scalikeJDBC做成rest-sql,应该考虑的重点是,

  • 返回类型转化为Map键值对
  • scalikeJDBC与不同的数据库之间的共同关联
  • repo对应的方法和JDBCEngine的方法
  • 在scalikejdbc内的SQL类内方法
  • 考虑到存在批量操作,需要fetchSize参数和是否authcommit,即事务
  1. 首先,在安装了sqlserver后,简单的使用了数据库语言进行增删改查,能够看到需要的,执行后的结果是:(执行的行数)和(时间)
  2. 数据库内的DDL和DML,
    • DDL(data definition language): DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用
    • DML(data manipulation language): 它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言
  3. rest中的put 、post、get和delete,考虑相对应的数据库内的读写分离,
  4. scalikeJDBC是把sql语句切分开成为具体sql(SELECT等句子)和参数。===》SQL SERVER   =》回来具体的流或者具体的数据。
  5. 整个数据库和编码的数据格式的转换,例如sql server中没有存在blob格式,不同的数据库要注意mysql或者sqlserver等数据库的数据等格式,其中主要的 是时间戳的TIMESTAMP的格式转换和图片的格式转换。
  6. scalikeJDBC的engine将scalikeJDBC中的具体执行过程分别成为不同的过程。
      //将sql语句执行的固定scalikeJDBC语句
    NamedDB(ctx.dbName) localTx { implicit session => }
  7. 当我用execute能够执行很多数据库内的语言,对表的增删改、索引、视图的增删改等
      val createSQL: SQL[Nothing,NoExtractor] =SQL("""
    
      """)
    createSQL.execute.apply()(NamedAutoSession(dbname))
  8. 具体拆分sql server语句和参数,通过url+sql语句,而拆分语句和参数,具体执行
  9. 键值对,_*==>拆分seq等集合,把Seq展开, 变成很多个参数的意思
  10. 明确
    queryTags等具体需求等。。。。。。
  11. scalikeJDBC的同步与异步。
  12. 交易控制
  13. 考虑好反应式流的具体功能与需求

scalikeJDBC的restapi的更多相关文章

  1. restapi(3)- MongoDBEngine : MongoDB Scala编程工具库

    最近刚好有同事在学习MongoDB,我们讨论过MongoDB应该置于服务器端然后通过web-service为客户端提供数据的上传下载服务.我们可以用上节讨论的respapi框架来实现针对MongoDB ...

  2. restapi(4)- rest-mongo : MongoDB数据库前端的httpserver

    完成了一套标准的rest风格数据库CRUD操作httpserver后发现有许多不足.主要是为了追求“通用”两个字,想把所有服务接口做的更“范generic”些,结果反而限制了目标数据库的特点,最终产生 ...

  3. restapi(8)- restapi-sql:用户自主的服务

    学习函数式编程初衷是看到自己熟悉的oop编程语言和sql数据库在现代商业社会中前景暗淡,准备完全放弃windows技术栈转到分布式大数据技术领域的.但是在现实中理想总是不如人意,本来想在一个规模较小的 ...

  4. 中国Azure媒体服务RESTAPI的Endpoint

    Amber Zhao  Thu, Feb 26 2015 4:09 AM 由于海外Azure和中国Azure有不同的domain,很多用户在使用媒体服务RESTAPI时,需要指定中国Azure媒体服务 ...

  5. Flask框架搭建REST-API服务

    一.目的 为了能够将测试工具部署成RESTful-API服务,这样就能通过接口的方式提供统一测试工具服务,使用人员就不用构建application而产生的各种环境问题.使用问题. 适合人群:Pytho ...

  6. [svc]简单理解什么是rpc调用?跟restapi有何区别?

    什么是rpc调用 restapi调用方式是对数据的crud. 常见的我们写flash写个api,或者借助django drf写个标准的resetapi,一个url可以借助httpget post pu ...

  7. 调用kylin的restAPI接口构建cube

    调用kylin的restAPI接口构建cube 参考:http://kylin.apache.org/docs/howto/howto_build_cube_with_restapi.html 1. ...

  8. geoserver源码学习与扩展——restAPI访问

    产生这篇文章的想法是在前端通过js调用restAPI时,总是不成功,发送ajax请求时还总是出现类似跨域的问题,后来查找才发现,默认情况下restAPI的访问都需要管理员权限,而通过ajax请求传输用 ...

  9. ryu的RESTAPI简介——我主要用于下发和查看流表

    一.Rest API简介 REST即表述性状态传递(RepreSentational State Transfer),是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性. 表 ...

随机推荐

  1. Python--day46--MySQL视图

    1,创建一个视图(给临时表起一个别名v1),视图也虚拟出来的,并非真正的物理表,不能直接往里面插数据.它的数据是动态的读出来的. create view v1 as select * from use ...

  2. Python--day40--threading模块的几个方法

    import time import threading #threading.get_ident() 查看当前进程号 def wahaha(n): time.sleep(0.5) print(n,t ...

  3. 2018-10-19-C#-AddRange-添加位置

    title author date CreateTime categories C# AddRange 添加位置 lindexi 2018-10-19 9:3:8 +0800 2018-2-13 17 ...

  4. win10 uwp 好看的时间选择控件

    本文告诉大家我找到的好看的时间选择控件 先给大家看一下图,然后就知道我说的是什么 首先需要安装 Nuget ,搜索 DeanChalk.UWP.TimePicker 或输入Install-Packag ...

  5. 头条面试题-创建一个Event类,并创建on、off、trigger、once方法

    一.创建一个Event.js class Event { constructor() { this.handlers = { // 记录所有的事件和处理函数 } } /* * * on 添加事件监听 ...

  6. 2018.11.9浪在ACM集训队第四次测试赛

    2018.11.9浪在ACM集训队第四次测试赛 整理人:朱远迪 A 生活大爆炸版 石头剪刀布           参考博客:[1] 刘凯 B 联合权值            参考博客: [1]田玉康 ...

  7. HTML是什么?

    HTML,即超文本标记语言,它不是一种编程语言,而是一种标记语言,是网页制作所必备的.“超文本”就是指页面内可以包含图片.链接,甚至音乐.程序等非文字元素.超文本标记语言的结构包括“头”部分.和“主体 ...

  8. 2018-2-13-WPF-异常-NativeWPFDLLLoader.LoadNativeWPFDLL

    title author date CreateTime categories WPF 异常 NativeWPFDLLLoader.LoadNativeWPFDLL lindexi 2018-2-13 ...

  9. swiper 使用参考 禁止手动滑动 监听事件

    最外层容器加类名  swiper-no-swiping 监听切换事件 onTransitionEnd: function(swiper){ console.log('过渡结束'); }

  10. JMeter Web测试计划

    在本节中,将学习如何创建测试网页的基本测试计划. 出于演示测试目的,我们将测试URL - https://www.yiibai.com/ 的网页性能. 创建JMeter测试计划 进入到JMeter安装 ...