彻底理解jdbc为什么用反射创建驱动程序对象

Posted THISISPAN

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了彻底理解jdbc为什么用反射创建驱动程序对象相关的知识,希望对你有一定的参考价值。

1.class.forName(mysql),这样更换数据库时,不需要更改程序代码,程序不需要重新编译就能运行。

因为反射是动态编译的,程序运行期间生成指定类的对象,

这样就可以程序运行期间生成不同的数据库驱动程序对象。省去了固定写死一个数据库驱动对象(通过new 构造函数的方法),造成每更换一个数据库,要重新编译代码的问题。

2.ioc容器中生成对象时,也是根据xml配置信息中的类型,反射生成对象的。并把这些对象存储在hashmap中,供程序调用的

3.hibernate/mybatis这种持久层框架中,进行数据持久化时,通过反射生成sql语句

 

以上是关于彻底理解jdbc为什么用反射创建驱动程序对象的主要内容,如果未能解决你的问题,请参考以下文章

什么叫做反射,反射在编程中起什么作用?

彻底搞懂JDBC的运行过程

Java -- JDBC_利用反射及 JDBC 元数据编写通用的查询方法

为啥maven编译时不需要jdbc的驱动包

JDBC数据库连接

Java Reflection (JAVA反射)机制详解