dbutil源码详解

1、dbutil出现的原因:
a、大量的重复代码
b、jdbc的简单封装
c、使用策略模式可以生成不同的返回类型

2、技术要点:
a、反射
b、泛型
c、元数据
d、可变参数

3、流程:
1、客户端调用query方法,进入该方法首先使用工厂模式创建一个数据库连接对象,这样的好处是隐藏了new的关键字,
并且代码的扩展性很强,改变了具体的实现类不影响系统的构架,

2、通过适配器模式(adaper)来兼容了一些查询的功能,这样可以使客户调用起来更方便,然后又通过一个工厂模式
得到了一个预处理对象,得到对象之后把这个预处理对象填充条件(问号),如果可变参数没有值的话则直接返回,
否则把可变参数的值一一设置到预处理对象中。

3、这里又使用了策略模式来解决了返回类型,它可以取决与客户需要的是set还是list、或者是map类型,然后创建了一
个集合。通过反射技术来得到属性类的所有信息,像set、get方法和字段,之后通过结果集的元数据来得到表中的列信息,
把属性和数据库中的列一一对应,这样是防止了表中的列和属性类中的属性顺序不一样而判断的。

4、最后才创建bean,首先使用了反射机制来生成一个对象,然后处理的数据的类型,处理完之后调用了属性类中的set方
法把相应的值设置的属性中,然后把每一个对象都设置好封装成一个bean,最后把这些bean存放到集合(set、list),
或者map中返回。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值