JAVA访问数据库
最近最近实验室在使用postgreSQL来做一个实验室物品管理系统,期中用到JPA,datasource的知识,之前讲的时候只是简单的了解,今天通过老师的讲解之后来个详细的说明吧:
java访问数据库的发展历史
接下来,话不多说上图:
- 1) 直接运行SQL语句的方式来访问数据库
2)通过JDBC来访问
关于JDBC,其实它是一种数据库链接的规范,而具体的底层,还是通过,装载数据库驱动,建立链接,执行SQL语句的方式来访问数据库。
3)通过hibernate访问
hibernate跟数据库之间的关联是一种java对象关系映射的一种规范,而对应的hibernate,eclipseLink是对这种技术的一种具体实现。它对JDBC进行了轻量级的包装,将POJO与数据库表建立起完整的映射关系,是一个全自动的ORM框架,自动生成并执行SQL语句。其本质还是用的JDBC的方式来访问的数据库,而对应的配置文档存在于hibernate.cfg.xml文件中,期中包含着数据库URL地址、用户名、密码、方言,初次之外还包含着其他的关于数据表类型及其内部的字段属性定义等等。
- 4)通过JPA访问
JPA是sun公司推出的新的规范,它是对hibernate又进行了一次包装,本质也是通过JDBC来实现的具体操作。其对应的openJPA就是它的实现。期中关于数据库的配置文档不是存在于hibernate.cfg.xml文档里面,而是为persistence.xml文件当中。(在自己看来,可能是因为persistence.xml文件和hibernate.cfg.xml文件长得太想,总是觉得他们就是一回事。)
5)通过Datasource访问
Datasource同样的是对JPA的另一种包装,如果把之前的JDBC看作为数据库访问的1.0版本的话,到Datasource这里就是4.0版本了。如上图所示,与之前不同的是这里,这里管理数据库的不是人来管理,而是容器,比如Wildfly,Tomcat等,对应的需要的配置文档也不在是在项目里面,而是在服务器里的standalone>configuration>standalone.xml文件当中(具体看另一篇Wildfly配置数据源)。