与数据库服务器建立连接之后,就可以对数据库执行一些存取操作,对数据库实现管理的功能。数据存取的操作大体上都包含两个方面的内容,即实体建模和持久化。不管是关系型数据库,还是NoSQL数据库,都遵循这一设计规范。
2.1实体建模源代码分析
实体建模的原理简单地说,即将Java的普通对象和关系映射为数据库表及其相关的关系。而这种映射在Spring Boot中,主要是通过注解的方式来实现。几种数据库中主要的注解定义如表11-1所示。
表11-1 实体建模主要注解定义
这种映射机制是双向的,当向数据库存入数据时,是将Java对象映射为数据库对象,而从数据库取出数据时,却将数据库中的数据还原为Java对象。
例如对于Neo4j来说,在实体建模中的主要注解@NodeEntity 的定义如代码清单11-6所示。在一个类定义中使用这个注解,表示这个类定义就是一个节点实体的建模。
代码清单11-6@NodeEntity源代码
Neo4j是一个图形数据库,所以程序中的实体对象要存入数据库时,将被映射为数据库图形。代码清单11-7是这种映射的部分实现代码。它的实现原理是,将实体对象转化为数据库可以识别的查询语句,实现对象到数据的转换。
代码清单11-7实体对象映射为数据库图形的部分源代码