06 JDBC & ORM

上边执行之后, 驱动器就加载到内存中.

connect 的 jar 包可以下载.

 

比较常用的是 PreparedStatement (可以防止 SQL 注入) 主要是使用了 ? 占位符

常用的方法: executeQuery() 返回结果集,  executeUpdate() 插入/修改/删除

 结果集

大批量的, 一般使用 Statement, 而不是 PreaparedStatement

 

 

 java.util.Date : 是按照1970年之后累加的毫秒

 转换函数:

 

 

CLOB (字符) & BLOB (2进制) 大对象

处理数据, 以流的方式进行处理:

MYSQL db 支持的 CLOB 类型

 

 实际上类似 setClob 等直接对应的参数就是流,所以这可以跟前面说的 IO 流连起来使用.

 读取时, 也需要用流读出

 

视频, MP3 等可以用 BLOB 存储.

这里就是用字节流处理了. 处理方法大同小异.

连接DB, close 资源 等都可以写成独立的类来进行.

进一步抽象, 把数据库的连接信息, DB, username, password 等写到资源文件里, 然后通过加载资源文件获得连接信息, 这样当需要修改时,不需要修改源码,只需要修改资源文件, 就可以修改对应的连接, db.properties 就是对应的资源文件.

 ORM

table -> class

table.field = class.field

table.row = class 的 对象

1. 用 Object 数组封装一条记录, 然后可以外层套一个 list 来存储多条记录

 2. 使用 Map 封装一条记录, Map是key,value形式, key 就是 columnname, value 就是这个column的实际值, 同样外层可以套用list存放多条记录.

3. javabean 对象中, 这样一条记录, 就对应一个对象, 也就是一个instance, 方法肯定是 new 一个实例就可以了. 同样可以外层套用list来存放多条记录.

这种工作中用的是最多的.

创建一个类 Emp 对应 table emp, 注意尽量使用包装类. 方便一起操作.

增加响应的 set, get 方法

增加构造器, 也要增加一个空构造器

实际上, 很多时候这种 ORM 已经有框架帮我们写好, 而且还提供了类似 filter 的功能等

原文地址:https://www.cnblogs.com/moveofgod/p/12493145.html