zoukankan      html  css  js  c++  java
  • scalikeJDBC的restapi

           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. 考虑好反应式流的具体功能与需求

         

  • 相关阅读:
    Bootstrap
    格式化字符串
    闭包函数与装饰器
    正则表达式
    jQuery
    分布式-锁-1.1 多线程锁无法满足的场景
    effective python 读书笔记-第22条: 尽量用辅助类来维护程序的状态,而不要用字典
    effective python 读书笔记:第21条-用只能以关键字形式指定的参数来确保代码明晰
    effective python 读书笔记:第20条-用None和文档字符串来描述具有动态默认值的参数
    git如何将上游(upstream)新建分支(origin没有)导入到origin中?
  • 原文地址:https://www.cnblogs.com/0205gt/p/11778534.html
Copyright © 2011-2022 走看看