java使用注解和反射打造一个简单的ORM
Table of Contents
原理
实现
1. 定义我们需要的注解
2. 反射工具类
3. 简单的 model
4. 注解解析
6. 结合反射实现查询操作
原理
在使用的ORM框架中,我可以想操作对象一样操作数据的存储,这是怎么实现的,我们知道数据库是认识 SQL 语句的,但并不认识java bean 呀!同时我们在使用ORM时,需要根据ORM框架的规定定义我们的bean,这是为什么?
这是因为 ORM 为我们提供了将对象操作转化为对应的SQL语句,例如 save(bean), 这时就需要转化成一个 insert 语句,update(bean) 这时就需要转成成对应的 update 语句
通常 insert 语句格式为
update 语句为
上面的格式可以看出,如果我们能从对象中得出 ,我们也可以写一个简单的ORM框架
实现1. 定义我们需要的注解
要想实现对数据库的操作,我们必须知道数据表名以及表中的字段名称以及类型,正如hibernate 使用注解标识 model 与数据库的映射关系一样,这里我也设计了三个注解
Table 注解用来表明该类与数据表的关联关系
column 注解用来标记类中属性与数据表中字段的关联关系
like 注解用于支持模糊查询
LikeType代码,枚举类型
字段属性表用来存储对象中字段与数据表列的对应关系
2. 反射工具类
提供一些常用的反射操作
通过反射我们可以动态的得到一个类所有的成员变量的信息,同时为这些变量取值或者赋值
3. 简单的 model
4. 注解解析
将对象的上的注解进行解析,得到对应关系
6. 结合反射实现查询操作
领取专属 10元无门槛券
私享最新 技术干货