您的位置:首页 > 数据库 > MySQL

JDBC简单入门_JDBC小例子

2016-12-02 10:59 531 查看

JDBC是什么

JDBC就是相当于一个数据库的管家,不管是何种数据库,
MySQL
Oracle


等数据库,都可以通过JDBC来统一对各种不同的数据库进行操作。这就相当方

便了,这时,你就不必为每个数据库程序写一个专门的程序进行连接、操作等,

这都可以通过JDBC来完成。也是体现了
java
”一次编写到处运行“的特性。

在程序中连接上数据库

我的笔记本使用的是
MySQL
的数据库,就使用
MySQL
来说明。

首先,要连上数据库,你在电脑上应该已经安装好了
MySQL
,点击这里下载进行安装即可。这里就不赘述了。

首先,要在程序中连接数据库对其进行操作,我们还需要下载驱动Connector/J 5.1.40,现在的版本是5.1.40,。我们在程序中要使用这个驱动进行数据库的连接。把下载的压缩文件解压放到当前目录,使用IDE(这里使用的是Eclipse)来新建一个项目,在新建一个类
MySQLDemo
,建好之后,再引入刚刚解压的文件里的
jar
包。建好的工程目录如下:



其中`Referenced Libraries里面的就是引入的`JDBC`驱动

贴的代码如下


import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

public class MySQLDemo {

// JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/school";

// 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root";
static final String PASS = "toor";

public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
// 注册 JDBC 驱动
//把Driver类装载进jvm
Class.forName("com.mysql.jdbc.Driver");

// 打开链接
System.out.println("连接数据库...");
conn = (Connection) DriverManager.getConnection(DB_URL,USER,PASS);

// 执行查询
System.out.println(" 实例化Statement对...");
stmt = (Statement) conn.createStatement();
String sql;
sql = "SELECT id, name, math, english, chinese, phone FROM score";
ResultSet rs = stmt.executeQuery(sql);

while(rs.next()){
// 通过字段检索
int id  = rs.getInt("id");
String name = rs.getString("name");
int math = rs.getInt("math");
int chinese = rs.getInt("chinese");
int english = rs.getInt("english");
String phone =rs.getString("phone");
// 输出数据
System.out.print("ID: " + id);
System.out.print(", 名字: " + name);
System.out.print(", 数学: " + math);
System.out.print(", 语文: " + chinese);
System.out.print(",英语: " + english);
System.out.print(", 手机号码:" + phone);
System.out.print("\n");
}
String inert = "insert into score (name, math, chinese, english,phone) values(\"jom\", 100, 90, 78, \"1238649798\")";
int i = stmt.executeUpdate(inert);
// 完成后关闭
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什么都不做
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.println("Goodbye!");
}
}


首先,定义了两个静态常量来保存数据库的
DB_URL
和数据库驱动字符串
JDBC_Driver


JDBC
URL
格式如下:

jdbc:mysql://[host]

[:port]/[database]

[?propertyName1][=propertyValue1]

[&propertyName2][=propertyValue2]…

如果使用
MySQL
数据库,前面都写
jdbc:mysql://
这一句,是不变的,后面再接要连接的主机名,如果是在自己机子上连接,写
localhost
即可,后面在写一个
:
,在写端口号,一般都是
3306
,然后写一个
/
,在写数据库的名称。这里我使用的数据库名称是
school
。如果你对数据库还不太懂,没有一些基本概念,那么你可以看看我前面写的数据库的文章:传送门

对于数据库的
URL
,这个是固定的,可以就那么写。上面的语句都是有注释的,就不多说。

消除警告

在上面的代码运行之后,可以可以正确得出结果,但是会发现有一条长长的红色的字体,看图:



清晰的看到一条红色看不到头的警告,警告大致意思就是没有服务器验证就连接
SSL
,你这样,服务器不推荐你这么干。那么,知道了意思,我们如何消除呢?这就要看
JDBC
URL
格式了,这个格式,我们还没说完,在前面所讲解的基础上,再加一个
?
,再跟上一些属性,也就完整了。由
URL
格式可以看出属性是”属性名=属性值”的键值对。这些属性不是我们自定义的,具体可以查看这个教程。这里我们要消除警告只要在
DB_URL
变量值后面加个字符串

?useUnicode=true&characterEncoding=utf-8&useSSL=false

即可。


,在运行,就没有警告了。

改过之后的变量:

!NoWarning](http://img.blog.csdn.net/20161202124615605)

以上就是
JDBC
的简单说明,关于具体用到的类,以后在慢慢说明。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 jdbc mysql