Java核心技术II 数据库编程

既然聊的是JAVA 数据库编程 那么JAVA数据库编程是什么,简单来说就是JAVA操作数据库

不得不提的就是大名鼎鼎的JDBC

JDBC是什么,是:Java操作数据库规范
为什么是Java操作数据库规范而不是Java操作数据库
这是因为数据库的类型很多,Java本着简单而直观,希望我写的编程在各种数据库中之间切换可以很方便(即修改数据库配置和某些配置即可–加载驱动不同),不要大浮动改变。数据库的供应商和开发商都认为,Java能够为SQL访问提供一套API,提高一个驱动管理器,我们来提供驱动程序,驱动管理器注册第三方驱动,这样就完美对接,即可以使用Java操作数据库了。

所以JDBC的思想是:根据API编写的程序都可以与驱动管理器进行通信,而驱动管理器通过驱动程序与实际数据库进行通信

那么还是为什么叫Java操作数据库规范不叫Java操作数据库呢?
因为驱动程序的实现有很多种,不同的供应商或工具开发商提供的驱动程序不同
但都在JDBC的驱动程序规范当中就可以与数据库进行通信了
1.ODBC桥: 本身ODBC可以与数据库进行通信 那么我将JDBC转成ODBC不就能通信了? 所以驱动程序将JDBC转成ODBC

2.JNI模式: 本身C/C++现在可以直接操作数据库,我可以通过JNI调用C/C++,也就操作了数据库,驱动程序包含了Java代码,和本地代码(C/C++)

3.协议通信: 需要由三个部分构成 客户端+中间件+数据库 客户端操作给中间件 中间件给服务器

4.纯Java实现,即Java类库 Connector/J

JDBC的标准API是在JAVA类库当中的即 java.sql包下
根据java编程思想中按照 接口编程,或者按照标准编程 其中的 各种如:PrepareStatement应在是 java.sql包下而不是具体驱动包下的

Java为什么没有采用ODBC模型

我也不知道ODBC模型是啥?简单急了下就是ODBC 难学,复杂,涉及到指针 java不支持 因为指针所以安全性问题

数据库连接池jdk本身不提供,但第三方或者服务器有提供
如:服务器提供的JNDI配置数据源,但我看到实际项目也没有使用,用到再说,配起来也感觉较为复杂

猜你喜欢

转载自blog.csdn.net/boom_man/article/details/79723024