JDBC的使用介绍

目录

1. JDBC介绍

2. 常用API组件

3. JDBC使用

3.1 引入MySQL驱动

3.2 jdbc连接数据库编程

编程步骤

4. 常用API使用

4.1 Connection接口:数据库连接的对象

4.2 Statement接口:用来执行SQL语句

4.3 ResultSet():返回结果集

问题:PreparedStatement和Statement的区别


1. JDBC介绍

JDBC(Java Data Base Connection),Java中提供的一套操作数据库的API接口,用于java语言连接数据库,进行数据操作。

2. 常用API组件

  • DriverManager:这个类是驱动管理类,管理一系列数据库驱动程序,用于建立和数据库的连连接;
  • Connection:该接口具有接触数据库所有的方法,表示和数据库通信的上下文对象;
  • Statement:该对象将SQL提交的数据库;
  • ResultSet:SQL查询语句的结果集通过resultSet返回给用户;
  • SQLException:该类是和数据库交互中任何错误。

3. JDBC使用

3.1 引入MySQL驱动

通过maven引入MySQL的驱动依赖

 <!--MySQL的驱动依赖-->
      <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <version>5.1.39</version>
      </dependency>

3.2 jdbc连接数据库编程

public class JDBC {
    public static void main(String[] args) {
        try {
            //加载数据库驱动  MySQL-> com.mysql.jdbc.Driver
            Class.forName("com.mysql.jdbc.Driver");

            //连接数据库
            Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jing", "root", "123456");
            System.out.println("连接成功");

            //获取Statement结果
            Statement statement = connection.createStatement();
            //修改数据
            String sql1 = "update student set Sname='susu' where SID=5 ";
            int i = statement.executeUpdate(sql1);

            //查询数据库
            String sql = "select * from student";
            ResultSet resultSet = statement.executeQuery(sql);

            //对结束处理
            while (resultSet.next()) {
                String sname = resultSet.getString("Sname");
                System.out.println(sname);
            }

            //关闭资源
            resultSet.close();
            statement.close();
            connection.close();
        } catch (Exception e) {
            System.out.println("连接失败");
            e.printStackTrace();
        }
    }
}

DriverManager管理连接
        连接数据库时,getConnection(String url,String user, String password)方法返回Connection类型,其中的参数表示:

  • url:jdbc:mysql://127.0.0.1:3306/jing
  • <顶级协议jdbc:二级协议数据库://本地IP地址:数据库端口/数据库名>
  • user:用户名
  • password:密码

编程步骤

  1. 引入mysql-connector-java依赖包
  2. 引入MySQL驱动
  3. DriverManager连接数据库获取Connection对象
  4. 通过Connection获取Statement对象进行SQL操作
  5. 如果是查询操作处理结果集:ResultSet
  6. 关闭资源

4. 常用API使用

4.1 Connection接口:数据库连接的对象

获取Statement对象:

PreparedStatement prepareStatement(String sql) :获取PreparedStatement对象

Statement createStatement() :获取Statement对象

CallableStatement prepareCall(String sql) :获取CallableStatement对象

以connection.的方式调用。

处理事务:

void commit() 提交事务

4.2 Statement接口:用来执行SQL语句

boolean execute(String sql):提交SQL语句 返回Boolean类型 可以提交变更操作(插入、删除、修改)

int executeUpdate(String sql) :提交执行DML语言,返回值是int,返回结果表示影响数据库数据行数

ResultSet executeQuery(String sql):执行查询操作,返回的结果在ResultSet中

4.3 ResultSet():返回结果集

boolean next():判断是否还有数据,每调用一次获取的是数据库对应的一行记录

问题:PreparedStatement和Statement的区别

             //获取Statement结果
            Statement statement = connection.createStatement();

            //修改数据
            String sql1 = "update student set Sname='susu' where SID=5 ";
            int i = statement.executeUpdate(sql1);

            //对比PreparedStatement
            String sql2="update student set Sname = ?  where SID = ?";
            PreparedStatement preparedStatement = connection.prepareStatement(sql2);
            preparedStatement.setString(1,"susu");
            preparedStatement.setString(2,"5");

            preparedStatement.execute();

       PreparedStatement采用预编译机制处理,SQL和参数分别传递,SQL上参数的位置通过占位符'?'处理,要特别注意,preparedStatement.setString 起始位置为1 。


以上都是学习过程中的知识点总结,如果有错误或者有疑问,欢迎指正交流吖~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值