JDBC(Java DataBase Connectivity,java数据库连接)
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序, 同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。 换言之 就是我们使用了jdbc的api 即可已实现连接数据库 编写sql语句 java中的那么多自带的类和它的方法其实 就是API ,我们通过实现了接口 来编写各式各样的代码方法 业务逻辑
使用了这个api后 我们可以在程序中编写sql语句 来直接实现对数据库的操作(因为数据库支持jdbc这项技术) 原理如下:
jdbc技术定义了连接数据库的通用接口,开发人员通过实现这些接口来连接数据库。 而jdbc驱动程序就是jdbc所有接口的实现类的集合。这些类是以jar包的形式打包。 然后开发人员使用这些类 来编写连接数据库的代码!!
例如使用oracle数据库的话 需要添oracle驱动程序,其实就是jar包,具体就是ojdbc6.jar 添加方法 如下图 其实就是添加一个类库
**1.建立数据库连接 ** 需要两步 1)注册数据库驱动程序 2) 创建一个连接对象 使用class类的forName()方法 动态加载Oracle驱动程序
2.提交sql语句 建立了一个连接对象之后 就可以使用这个对象来发生sql语句了
java.sql.Statement类型的对象是用来给数据库传递sql语句的对象 ,比如这个对象有execute()executeUpdate()等方法,里面填的参数就是sql语句。
在使用这个对象之前 我们需要使用之前创建了的connection对象的createStatement()方法来创建一个statement对象Statement st=Connection.createStatement() 例如:ResultSet rs=st.executeQuery("select * from Person") 获得了一个查询结果 保存在了ResultSet类型的对象当中
注意: 这里需要去学习下 ResultSet类
3.获取到数据 ResultSet对象 有许多方法 ,常用的有三个,
4.释放连接等资源 查询完成之后应当释放ResultSet,statement,connection等资源,因为查完之后就用不到了啊 ,不释放的话这些对象都会继续占用物理内存。 这三个对象都有自己的close()方法 ,名称一样,简单调用一下即可删除。
此技术来解决程序的数据库连接的效率问题 核心理念就是 保存连接对象 不要每次连接完删除,让这个对象多次使用
此技术 大大解决了数据库连接的瓶颈问题 使得程序运行速度大大提高 并且我们可以 实时修改容器中 连接对象的数量,更加有效
现在主流的服务器都提供了内置的数据库连接池,供开发者使用