Java----JDBC

本文详细介绍了Java JDBC的使用,包括建立数据库连接、Statement和PreparedStatement类的使用,以及如何处理SQL注入问题。还讨论了ResultSet类、批处理、存储过程以及事务管理,特别是事务的隔离级别和回滚操作。
摘要由CSDN通过智能技术生成

JDBC


在这里插入图片描述

  • JDBC(Java DataBase Connection) Java数据库连接,可以通过Java语言(代码)连接到数据库(My SQL/Oracle/BD2…),从而达到数据化的持久化处理。

  • SQL指令(DML、DDL、存储过程、触发器、函数、程序包)

JDBC步骤

在这里插入图片描述

  1. 建立Java代码与数据库之间的连接

    1. 导包(驱动包:封装好的与数据库连接的Java代码):可以帮助我们和数据库建立连接

    2. 将驱动包导入当前项目的过程(在当前项目中先新建一个文件夹–>将jar包粘贴到此文件夹中–>选中jar,右键–>Build Path --> Add to Build Path)

    3. 加载驱动中的驱动类(运用反射机制)

      Class.forName("com.mysql.jdbc.Driver");
      
    4. 通过驱动管理器获取连接(驱动被加载后被驱动管理器DriverManager所管理)

      conn = DriverManager.getConnection("jdbc:mysql://localhost/lianxi?useUnicode=true&characterEncoding=utf-8", "root", "123456");
      

      一个Java.sql.Connection类的对象,就是一个数据库连接,即conn就是Java和数据库的连接

  2. 准备需要进行操作的SQL指令

    String sql = "insert into users (uid,uname,password,uage)values(('"+uid+"', '"+uname+"', '"+password+"', '"+uage+"')";
    
  3. 通过连接发送SQL语句

    // 从连接conn中调用createStatement()方法获得一个Statement类的对象,这个对象可以加载/编译/执行sql语句
    sta = conn.createStatement();
    
  4. 执行SQL语句获取执行结果

    boolean flag = sta.execute(sql);
    if(!flag){
         
        System.out.println("添加成功");
    }else{
         
        System.out.println("添加失败");
    }
    
    int n = psta.executeUpdate(sql);
    if(n>0){
         
        System.out.println("添加成功");
    }else{
         
        System.out.println("添加失败");
    }
    
  5. 关闭连接

    if(sta !=null){
         
        sta.close();
    }
    if(conn != null){
         
        conn.close();
    }
    
Statement类
  • SQL语句执行接口

  • Statement sta = conn.createStatement();

  • Statement是用来对要执行的SQL语句进行加载、编译/解析,并可以通过此对象调用方法:

    • boolean execute(sql);对应增删改SQL语句调用此方法,返回false表示执行成功;
    • Int executeUpdate();对应增删改SQL语句对应此方法,返回整数表示影响的行数
    • ResultSet executeQuery(sql);对于查询语句调用此方法,返回所有查询数据,存放在ResultSet对象中
PreparedStatement类
  • 是Statement的子类,预编译的Statement

  • 是对SQL语句进行预处理,解决SQL注入问题

    PreparedStatement psta = conn.prepareStatement(sql);
    Psta.setString(index, value);
    Psta.setInt(index, value);
    Psta.setDouble(index, value);
    
  • 执行SQL语句

    Boolean execute
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值