2 Star 2 Fork 0

chaojicode/xmldb

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

xmldb

项目介绍

使用注解的基于xml文件存储的简单迷你数据库实现

注解说明

  • @Table: 表明当前JavaBean是本数据库表对应的的实体对象
  • @Column: 表明当前JavaBean中的属性时本数据库表对应的字段
  • @Index: 表明该字段是索引字段

核心类DBDao.java讲解

  • 业务方法
    • create() 创建数据库
    • createTable(Class clz) 创建数据库表,需要的参数为对应的数据库表实体对象的类对象
    • save(Object object) 新增或修改数据库记录,需要的参数为数据库实体对象
    • remove(Object object) 删除数据库记录,需要的参数为数据库实体对象
    • findAll(Class clz) 查询某个表所有记录,,需要的参数为对应的数据库表实体对象的类对象
  • 辅助方法
    • write(String tableFilePath, Document document) 持久化xml对象到文件,简单封装dom4j的写文件方法
    • getUUID(Object object) 利用内省,获取数据对象中的uuid
    • getTableName(Object po) 利用注解获取表明
    • getContent(Object po) 将数据对象解析为json

体会

  • 对于ORM框架需要指定主键有了深刻的感悟,因为更新方法和删除方法,是可以利用注解进行查找操作的,如果有主键,且主键会被自动定义为索引,是方便查询的。
  • 对于ORM索引的工作方式有了深刻的理解。正如这个小工程所示,利用索引,我是将索引所对的字段和值都当做包括数据内容的节点的属性,虽然后续功能没有完善,但是利用这个索引进行查询会提高性能,因为读到内存进行遍历的内容会比直接遍历数据内容少。这也进一步说明,为什么不能把所有的字段都做索引。因为都做了索引,这个节点的属性内容可一点不比数据内容少了。
  • 代码的设计很重要

空文件

简介

使用注解的基于xml文件存储的简单迷你数据库实现 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/chaojicode/xmldb.git
git@gitee.com:chaojicode/xmldb.git
chaojicode
xmldb
xmldb
master

搜索帮助