JDBC API详解

回顾:
jdbc 接口  驱动类实现
maven   创建项目   pom.xml导入依赖
第一个JDBC案例:
(1)创建maven的java项目
(2)pom.xml导入mysql数据库驱动jar包
(3)代码编写:
1、加载驱动
2、创建连接
3、创建操作SQL类
4、执行SQL,处理结果集
5、释放资源

java.sql.*

DriverManager.registerDriver()
DriverManager.getConnection() 
Connection
Statement


1.1、DriverManager
加载驱动

DriverManager.registerDriver(new Driver())
mysql8.jar   com.mysql.cj.jdbc.Driver
mysql5.jar   com.mysql.jdbc.Driver

Class.forName("com.mysql.cj.jdbc.Driver"); //反射机制

创建连接

DriverManager.getConnection(url,username,password)
url地址连接mysql格式:
jdbc:mysql://ip地址:端口号/数据库名
jdbc:mysql://localhost:3306/db02
jdbc:mysql://…/db02


1.2、Connection
是数据库连接对象。

Statement<=createStatement() 创建执行SQL语句对象
拿到SQL语句就只能直接执行。
例:

Connection conn=DriverManager.getConnection(url,username,password);
Statement state=conn.createStatement();

PreparedStatement<=prepareStatement() 创建预编译执行SQL语句对象
拿到SQL语句可以先编译,在执行。
例:

Connection conn=DriverManager.getConnection(url,username,password);
PreparedStatement state=conn.prepareStatement();

1.3、Statement
直接执行写好的SQL语句。
executeQuery(sql)    只能执行DQL语句,select查询语句
例:

String sql=“select * from user”;
Connection conn=DriverManager.getConnection(url,username,password);
Statement state=conn.createStatement();
ResultSet rs=state.executeQuery(sql);executeUpdate(sql)   只能执行DML语句,insert  update  delete语句


例:

String sql=“delete from user where id=1”;
Connection conn=DriverManager.getConnection(url,username,password);
Statement state=conn.createStatement();
state.executeUpdate(sql);

execute()  执行任意语句,返回true/false


例1:

String sql=“select * from user”;
Connection conn=DriverManager.getConnection(url,username,password);
Statement state=conn.createStatement();
Boolean isval=state.execute(sql); 


注意:
isval为true,表示查询到了用户记录
isval为false,表示没有查询到用户记录

例2:

String sql=“delete from user where id=1”;
Connection conn=DriverManager.getConnection(url,username,password);
Statement state=conn.createStatement();
Boolean isval=state.execute(sql);


注意:
isval为false,增加语句、修改语句、删除语句没有结果集

1.4、ResultSet
对象,结果集

next() 方法:游标往下移一行,判断是否存在记录,存在就用get方法来取值
get方法:
getInt(int i) i表示的是位置   getInt(String name) name表示的是字段名
getString()
getDouble()
getBoolean()
getDate()
……


例:

String sql=“select * from user”;
Connection conn=DriverManager.getConnection(url,username,password);
Statement state=conn.createStatement();
ResultSet rs=state.executeQuery(sql);
while(rs.next()){
   System.out.println(rs.getInt(1));
   System.out.println(rs.getInt(“id”));

}

案例:
 

package com.ww.jdbc.test;

import java.sql.*;

public class JdbcTest {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {
        //1、加载驱动
//        DriverManager.registerDriver(new Driver());
        Class.forName("com.mysql.cj.jdbc.Driver"); //反射机制
        //2、连接数据库
        //声明url,username,password
        String url="jdbc:mysql://localhost:3306/db02";
        String username="root";
        String password="Root123456";
        Connection connection=DriverManager.getConnection(url,username,password);

        //3、操作数据库表
        String  sql="select * from user";
        Statement statement=connection.createStatement();
        ResultSet resultSet=statement.executeQuery(sql);
        //循环打印出所有记录(结果集)
        while(resultSet.next()){
            System.out.print(resultSet.getObject("id")+"   ");
            System.out.print(resultSet.getObject("username")+"   ");
            System.out.print(resultSet.getObject("nickname")+"   ");
            System.out.print(resultSet.getObject("password")+"   ");
            System.out.println();
        }
        //4、释放资源(先创建,后关闭)
        resultSet.close();
        statement.close();
        connection.close();
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值