浅入浅出JDBC————1分钟了解JDBC

一.了解基本的几个jdbc需要的类

1.1DriverManager类

 DriverManager类是一个jdbc的驱动服务类。通常使用该类获得一个Connection对象,得到一个数据库的链接。

1.2.Connection类

 每一个Coonection的对象都是一个数据库的链接对象,代表了一个物理会话。

1.3. Statement类

 执行sql语句的工具接口。

1.4.PreparedStatement类

Statement类的子接口,一个预编译的Statment对象。

1.5.ResultSet类

查询结果集类

二.进行jdbc编程

2.1步骤

1.加载数据库驱动

 使用Class类的forName方法来加载数据库链接驱动。

 代码实例:

String dirver ="com.mysql.jdbc.Driver";//加载数据库驱动
Class.forName(dirver);

 

 2.获取数据库的链接

 通过上面的驱动服务类来获取数据库链接,使用DriverManager类的getConnection()方法来链接,得到一个数据库的物理会话。

 getConnection(String url,String user,String pass)方法解析:

 该方法返回一个Connection对象,参数中的url是指数据库的url。

 mysql的url为:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false

 代码实例:

String url="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false";
String user="root";
String password="4399";
conn = DriverManager.getConnection(url,user,password);

 

3.通过Connection对象创建一个Statement对象。

在这里有三种Statement对象来创建,基本的Statement对象,还有就是预编译的Statement对象prepareStatement和执行存储过程的CallableStatement对象

分别来看看三种对象的创建方式:

        //加载驱动
        Class.forName("com.mysql.jdbc.Driver");
        //获得一个物理回话
        Connection conn= DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false","root","4399");
        //得到一个普通的Statement对象
        Statement stat=conn.createStatement();
        //得到预编译对象
        PreparedStatement pre_stat=conn.prepareStatement("select * form students");
        String str="{call pro_getCountById(?, ?, ?)}";//存储过程
        //执行存储过程的对象
        CallableStatement call_stat = conn.prepareCall(str);

 

4.使用Statement对象来执行sql语句

三种方法来执行sql语句:

1.execute()可以执行任何sql语句。

2.executeUpdate()执行DML语句和DDL语句,DDL语句返回0,DML语句返回影响行数。

3.executeQuery()只能执行查询语句,返回查询结果集ResultSet。

代码实例:

stat.executeUpdate("drop table if exists tab1");//执行DDL语句
stat.executeUpdate("insert into tabl values (10,'zhansan') ");//执行DML语句
ResultSet res=stat.executeQuery("select * from tab1");//执行DQL

 

5.操作结果集

理解ResultSet类:(引用)

ResultSet类是一种数据库查询结果存储类,就是当查询数据库的时候,可以将查询的结果放在具体的ResultSet对象中,其实我们把这种存储查询结果的ResultSet对象叫做ResultSet结果集。比如我们用aaa表示一个ResultSet对象。
那么查询的结果无非就是一些符合查询条件的记录集,ResultSet结果集有一个索引指针,最初这个指针是指向第一条记录的前一个位置,也就是没有指向任何内容,使用aaa.next()方法就会使指针往后移动指向下一个记录,所以一定要先执行一次next()函数才会让指针指向第一条记录。
操作结果集就是移动指针的过程。

6.回收数据库资源

需要关闭的资源:ResultSet、Statement、Connection

 

posted on 2018-10-14 16:22 真正的小明被占用了 阅读() 评论() 编辑 收藏

版权声明:本文为SAM-CJM原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/SAM-CJM/p/9786736.html