人生需要总结

手写DAO框架(二)-开发前的最后准备

-------前篇:手写DAO框架(一)-从“1”开始 ---------

前言:前篇主要介绍了写此框架的动机,把主要功能点大致介绍了一下。此篇文章主要介绍开发前最后的一些准备。主要包括一些基础知识点,和模块的拆分。

话说磨刀不误砍材工,知其然,还要只其所以然。因为很久没有学习相关的知识了,为了避免一些明显错误,所以先把相关基础知识了解一下。

(因个人水平有限,如有纰漏,还请指出)

基础知识点

一、Statement和PrepareStatement

  1、PrepareStatement

    a、预编译sql

      需要手动开启

        useServerPrepStmts=true

        cachePrepStmts=true(缓存编译后的sql的key,保障不同ps执行sql不会重复编译

    b、防止sql注入(通过特殊字符过滤实现)

      通过mysql日志查看是否进行了预编译

        执行sql直接执行execute,则可以认为sql已经被编译了

      只有ps关闭后,才会缓存函数key

二、mysql如果要预编译,需要开启预编译

 

三、数据库执行sql的流程

  1、检查sql语句是否正确
  2、将sql语句编译成函数
  3、执行函数
  4、插入数据,获取主键

四、如何快速反序列化

  1、反射
  2、内省
  3、自带的反序列化
  4、JSONObject反序列化

五、连接池功能

  1、获取连接
  2、归还连接
  3、保存连接

 

模块拆分

一、连接

  1、初始化
  2、配置文件初始化
  3、对象初始化
  4、获取连接
二、连接池
  1、获取连接
  2、归还连接
  3、连接有效性监测
三、基础查询封装
  1、插入返回id
四、ORM映射

 

 

完整详细信息如下:

 

下篇:手写DAO框架(三)-数据库连接

posted @ 2019-06-16 11:11  水木桶  阅读(488)  评论(0编辑  收藏  举报