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

       

  14.  

     

 

 

 

 

 

 

 

posted @ 2019-11-06 17:20  ~~。  阅读(238)  评论(0编辑  收藏  举报