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文檔、源碼。