JDBC入门小案例

目录

一.什么是JDBC

二.JDBC入门小案例

三.步骤解读

0.导入jar包

1.注册驱动

2.获取数据库连接对象

3.获取执行sql语句的对象

4.执行sql语句

5.释放资源


一.什么是JDBC

JDBC:     Java数据库连接(Java DataBase Connectivity)

                  可实现用Java代码操作数据库

                  是JavaEE技术之一,JavaEE是13种技术的统称

                  是SUN公司提供的一套规范、一套接口

JDBC的产生:早期使用Java操作不同的数据库需要写不同的代码,如MySQL和Oracle供应商提供不同的实现方法,对程序员很不友好,于是Sun公司提供了一套规范,所有接入Java的数据库必须使用这套规范,即JDBC,实现了对所有数据库的操作只需要使用同一套实现方法。

二.JDBC入门小案例

package com.rabbit.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class Demo {
    public static void main(String[] args) throws Exception {
        String cellphone = "1840001111";

        //1.注册驱动
        Class.forName("com.mysql.jdbc.Driver");

        //2.获取数据库连接对象
        Connection conn = DriverManager.getConnection("jdbc:mysql://172.16.0.120:7302/db1","admin","1234");

        //3.获取执行sql语句的对象
        String sql = "select * from user where phone = ?";
        PreparedStatement ps = conn.prepareStatement(sql);
        ps.setString(1,cellphone);

        //4.执行sql语句
        ResultSet rs = ps.executeQuery();
        if(rs.next() == true){
            System.out.println("登录成功");
        }else {System.out.println("手机号码不存在");}

        //5.释放资源
        rs.close();
        ps.close();
        conn.close();
    }
}

三.步骤解读

0.导入jar包

jar包的下载和导入参照:jar包的下载和导入_兔兔那么好吃的博客-CSDN博客

1.注册驱动

注册驱动告诉程序要操作哪一个数据库,是MySQL还是Oracle

将com.mysql.jdbc.Driver.class文件加载到内存方法区中,形成字节码文件对象,执行静态代码块中的内容,此处使用的是反射原理

2.获取数据库连接对象

getConnection方法的3个参数:url、用户名、密码

其中url的格式:jdbc:mysql://数据库服务器地址:端口号/数据库名

3.获取执行sql语句的对象

使用PreparedStatement方法能够避免sql注入,因为采用的是预处理模式,里面使用占位符?

使用setString(n,String)方法对第n个 ? 进行替换

4.执行sql语句

执行sql语句的几个方法:

  • int executeUpdate()                增删改使用,返回值是实际影响的行数
  • ResultSet executeQuery()      查询使用,返回结果集
  • boolean execute()                   增删改查都可以使用,一般是底层使用

结果集ResultSet的几个方法:

  • boolean next()                         判断结果集里有没有数据
  • int getInt(int i)                          获取第i个字段的int数据
  • int getInt(String name)            根据字段名name获取相应字段的int数据
  • String getString(int i)               获取第i个字段的int数据
  • String getString(String name)                根据字段名name获取相应字段的String数据

resultSet.getXXX可获取各个数据类型的数据,每个数据类型都有通过索引获取和通过名称获取两种方法

5.释放资源

数据库连接对象、执行sql语句的对象、结果集对象都需要释放

猜你喜欢

转载自blog.csdn.net/weixin_60968208/article/details/128495580