From:尚学堂
功能
实现一个对象和SQL语句自动映射的框架。
- 增加:将对象对应成sql语句,执行sql,插入到数据库中。
- 删除:根据对象主键的值,生成sql,执行,从库中删除。
- 修改:根据对象需要修改的属性的值,生成sql,执行。
- 查询:根据结果分类,多行多列(List < Object >)、一行多列(Object)、一行一列(普通对象Object、数字Number)
只支持一个主键
核心架构
- Query接口:负责查询(对外提供服务的核心类)
- QueryFactory类:负责根据配置信息创建Query对象
- TypeConvertor接口:负责类型转换
- TableContext类:负责获取管理数据库中所有的表结构和类结构的关系,并可以根据表结构生成类结构。
- DBManager类:根据配置信息,维持连接对象的管理(增加连接池功能)
- 工具类:JDBCUtils封装常用JDBC操作;StringUtils封装常用字符串操作;JavaFileUtils封装java文件操作;ReflectUtils封装常用反射操作。
架构图:
核心bean:
- ColumnInfo:封装表中一个字段的信息(字段类型,字段名,键类型)
- Configuration:封装配置文件信息
- TableInfo:封装一张表的信息
连接池(Connection Pool):
- 就是将Connection对象放入List中,反复重用
- 连接池的初始化:事先放入多个连接对象
- 从连接池中取连接对象:如果池中有可用连接,则将池中最后一个返回,同时将该链接从池中remove,表示正在使用。如果无可用连接,则创建一个新的。
- 关闭连接:不是真正关闭连接,而是将用完的连接放入池中。
代码链接
github(点击打开)
包括jar包、demo案例、api文档、源码。