JDBC简单入门_JDBC小例子

来源:互联网 发布:smartmonkey源码 编辑:程序博客网 时间:2024/06/03 11:13

JDBC是什么

JDBC就是相当于一个数据库的管家,不管是何种数据库,MySQLOracle
等数据库,都可以通过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
JDBCURL格式如下:

jdbc:mysql://[host]
[:port]/[database]
[?propertyName1][=propertyValue1]
[&propertyName2][=propertyValue2]…

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

消除警告

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

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

即可。
NoWarning,在运行,就没有警告了。
改过之后的变量:
!NoWarning](http://img.blog.csdn.net/20161202124615605)

以上就是JDBC的简单说明,关于具体用到的类,以后在慢慢说明。

0 0
原创粉丝点击