利用反射技术实现POJO的数据库操作

本文介绍了一种利用反射技术实现自定义POJO的数据库操作方法,通过实体类名和属性名推断表名和字段名,动态拼接SQL语句。作者创建了Customer和Admin实体类,通过反射获取类名、方法,进而构建INSERT语句,并展示了执行结果。虽然此方法简化了DAO操作,但在健壮性和类型转换方面存在挑战。
摘要由CSDN通过智能技术生成
记得第一次写项目的时候,傻傻的数据库一张表,代码里就写一个DAO类,几张表就写几个DAO类,大量的重复代码,自己粘着都嫌烦,后来接触了Hibernate,不得不说对我们这种小白用处还是很大的,那么多的实体类,一个DAO就可以实现基本的数据库操作了,于是我用的不亦乐乎,但到底是怎么做的,从来没有考虑过,现在用这些框架已经有一段时间了,原谅我脑洞大开,想自己实现一下这种类似的功能:

在准备写之前,我们需要一些规则:
    1、由实体类名,可以知道我这个类是存放在哪张表里---这里我采用的是和t_类名
    2、由实体类中的变量名可以知道对应表中的字段名的一一这里我采用f_变量名做为字段名
    3、实体类里,有着对变量的赋值与获取,且方法名有一定的规则----比如我们常用的get、set方法 ,这里我也是采用这种方法

一、利用如上规则设计相关的类与表:
我这里写了两个实体类customer和admin,并在类中多加了一个toString方法,便于后面打印信息查看:
 
package com.java.reflect.database;
public  class Customer {
     private  Long id;
     private  String username;
     private  String password;
     private  String realname;
     private  String address;
     private  String email;
     private  String mobile;
    
    @ Override
     public  String toString() {
         return  "Customer [id="  + id  +  ", username="  + username  +  ", password="
                 + password  +  ", realname="  + realname  +  ", address="  + address
                 +  ", email="  + email  +  ", mobile="  + mobile  +  "]";
    }
    
     public  Long getId() {
         return id; </
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值