Java如何连接数据库?
使用JDBC能够帮助你连接数据库,并调用、处理数据库中的数据。那么,什么是JDBC呢?
一、原理要点概述:
1,JDBC全称Java Data Base Connectivity即java数据库连接。JDBC本质上是一套协议(即一组Java语言编写的
类和接口),是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,并规定了JAVA开发人员访问数据库所使用的方法的调用规范。它使得程序员能通过继承JDBC接口,实现对各种关系数据库的访问。从而可以使得不同的数据库能运行于同一个平台上。
2,JDBC的实现是由数据库厂商提供,以驱动程序形式提供(驱动开发必须实现Driver接口)。
3,JDBC在使用前要先加载驱动。 JDBC对于使用者要有一致性,对不同的数据库其使用方法都是相同的。
二、利用JDBC实现与数据库的连接步骤:
1.首先加载驱动类,并初始化驱动类
在加载某一 Driver 类时,它应该创建自己的实例并向 DriverManager 注册该实例。这样用户才能调用DriverManager(驱动管理器类)创建连接。可以认为DriverManager本身就是一个创建Connection的工厂。
方法:1)Class.forName("com.mysql.jdbc.Driver").newInstance();//"驱动类所在的包名.Driver"可以不要.newInstance();
2)com.mysql.jdbc.Driver driver=new com.mysql.jdbc.Driver();
3)直接new com.mysql.jdbc.Driver();
2.获取数据库的连接对象
Connection conn= java.sql.DriverManager.getConnection(url,user,password);
其中:
1)url指数据库的连接路径,如"jdbc:mysql://localhost:3306/BlogV1";jdbc后面分别指数据库类型、IP地址、端口号、数据库名
2)user指Mysql数据库的用户名,如:;
3)password指Mysql数据库的密码;
4)DriverManager为数据库驱动管理器(类),它实现
3.创建一个SQL执行对象Statement(或PreparedStatement)向数据库发送sql语言
1)无参数的sql语言:String sql="select * from userinfo";
java.sql.Statement stmt=conn.createStatement();
2)含参数的sql语言:String sql = "insert into bloginfo(b_ID,title,author,artical) values(?,?,?,?)";
java.sql.PreparedStatement pstmt = conn.prepareStatement(sql);
4.执行SQL语句,并返回结果集:
1)无结果集:ResultSet rs=SQL执行对象.executeUpdate();
2)含结果集:ResultSet rs=SQL执行对象.executeQuery();
5.处理结果集
判断rs中是否含有结果集:rs.next();
取出rs中的数据如:rs.getString("name")、rs.getInt(1)、rs.getInt("blogLev")
6.关闭SQL语句执行对象Stament(PreparedStatement)
7.关闭数据库连接对象Connection
注意:其中6、7步不可少。因为如果不关闭Statement对象,它们会一直占用服务器资源,直到JAVA垃圾收集程序来回收它。作为一种好的编程风格,应在不需要Statement对象时显示式地关闭它们,这将立即释放服务器资源,有助于避免潜在的内存问题。同样,使用完整数据库连接后,就应关闭它,释放连接所占用的数据库资源。;
三、代码实现如下:
package cn.netjava.db;
import java.sql.SQLException;
public class DataBase {
//测试能否连接上数据库
public static void main(String args[]) {
//创建一个DataBase对象
DataBase db=new DataBase();
//得到连接对象
java.sql.Connection conn=db.getConnection();
//执行SQL语句
String sql="select * from userinfo";
try{
//由连接对象得到数据库的SQL执行对象
java.sql.Statement stmt=conn.createStatement();
//执行SQL语句,并得到返回的结果集
java.sql.ResultSet rs=stmt.executeQuery(sql);
//遍历结果集1?
while(rs.next()){
System.out.println("ID:"+rs.getInt(1)+" ");
System.out.println("姓名:"+rs.getString("name")+" ");
System.out.println("密码:"+rs.getString("pwd")+" ");
System.out.println("性别:"+rs.getString("sex")+" ");
System.out.println("地址:"+rs.getString("address")+" ");
System.out.println("邮箱:"+rs.getString("email")+" ");
System.out.println("博客名字:"+rs.getString("blogName")+" ");
System.out.println("博客等级:"+rs.getInt("blogLev")+" ");
System.out.println("博客浏览量:"+rs.getInt("blogView"));
}
//依次关闭结果集、sql执行对象和数据库连接
rs.close();
stmt.close();
conn.close();
}catch(Exception ef){
ef.printStackTrace();}
}
/**
* 取得数据库连接对象的方法
*
* @return:返回一个数据库连接对象
*/
public java.sql.Connection getConnection() {
java.sql.Connection conn = null;
if (conn == null) {
// 连接数据库URL地址
String url = "jdbc:mysql://localhost:3306/blogv1";
// 连接数据库的用户名
String user = "root";
// 连接数据库的密码
String password = "lcan";
try {
// 创建连接数据库的驱动类对象:应用了java反射技术
Class.forName("com.mysql.jdbc.Driver");
// 根据驱动管理类,得到数据库的连接对象
conn = java.sql.DriverManager
.getConnection(url, user, password);
} catch (ClassNotFoundException e){
//捕捉Class.forname的异常
e.printStackTrace();
} catch (SQLException e) {
//捕捉得到连接对象时产生的异常
e.printStackTrace();
}
}
return conn;
}
}
JDBC示意图:
整理于2011.01.18
(待完善-->JDBC反射原理,数据库连接池原理)
- 描述: JDBC示意图
- 大小: 27.9 KB
分享到:
相关推荐
jdbc总结jdbc总结 jdbc总结 jdbc总结 jdbc总结
标日初级总结笔记JDBC学习总结笔记.pdf
JDBC学习笔记! JDBC学习笔记! JDBC学习笔记! JDBC学习笔记! JDBC学习笔记! JDBC学习笔记!
jdbc学习笔记(PDF格式) jdbc学习笔记(PDF格式)
在学习Java的过程中,面对用Java操作数据库的时候,难免会遇见对于数据库连不上的问题,这是本人在学习过程中的一些总结,专门针对Java操作数据库的内容,包括jdbc的链接,分页,MySQL的存储过程等,仅供参考,不...
个人学习JDBC过程中总结出来的一些经验,希望可以给你参考
在学习的过程中遇到的一些问题,然后进行总结
全面的 Java JDBC 编程学习知识总结 一张图搞定! 结构性强,便于记忆! 资源博客:https://blog.csdn.net/CodeYearn/article/details/89196038
Jdbc技术的基础详细学习笔记,总结了Jdbc技术的各个知识点,可以用来复习以及对基础知识的巩固,对新人的学习很有帮助。
JDBC连接Sql Server 2005全教程 这是本人在连接N次后总结的,希望能帮助大家学习Java
是我在学习jdbc连接数据库过程中遇到的问题,以及我的经验总结希望能对您有用!
该资源总结了j2ee中使用jdbc访问数据库的若干种方式。
java,oracle,html,jdbc,ajax 都有啊,希望对大家有帮助。
本人总结的传智博客上老师的JDBC视频资料的PPT.
学习JDBC中手写的一些非常简单的查询数据库的类,没有什么技术含量。在学习JDBC的过程中,跟着手敲的一些简单的代码,跟着我自己写的简单的总结上传,不需要任何积分。
本人通过学习经验所总结的sql server 2008 r2 安装 + JDBC配置,如有不足望大家指出。
这是我学习JDBC时从网上搜到的,其中有个最简单的JDBC:ODBC桥连接原作者未写,我给加上了,希望能给大家提供帮助。
此文为本人学习完JDBC后总结的相关知识点,偏理论,含部分示例代码。
oracle数据库学习总结