• JDBC


    Java语言访问数据库的一种规范,是一套API

    JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。

     

       JDBC规范采用接口和实现分离的思想设计了Java数据库编程的框架。接口包含在java.sql及javax.sql包中,其中java.sql属于JavaSE,javax.sql属于JavaEE。这些接口的实现类叫做数据库驱动程序,由数据库的厂商或其它的厂商或个人提供。

     

       为了使客户端程序独立于特定的数据库驱动程序,JDBC规范建议开发者使用基于接口的编程方式,即尽量使应用仅依赖java.sql及javax.sql中的接口和类。

    数据库连接步骤

      1注册驱动   Class.forName("oracle.jdbc.OracleDriver");  //此处加载的是oracle驱动在调用此之前需要将驱动jar包导入到项目。通过buildpath
     
      2获得连接   Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl","scott","root");

       可以将connection输入查看是否连接成功。

      3获得语句执行平台  Statement st = connection.createStatement();

       这是一种操作数据库的方式,有其他的操作数据库的方式

      4执行sql语句  sql = "select * from emp";  
      ResultSet rs = st.executeQuery(sql);//查询emp表中的所有信息
      5处理结果
      6资源释放 rs.close();st.close();connection.close();
     
    连接Oracle查询表内容的代码
      

         插入删除修改  这三种类似,通过executeUpdate操作,需要注意的是对于字符串类型数据需要用单引号包裹,不然会报列在此处不允许错误。

    向学生表中插入一条数据

    String sql = "insert into student values('"+student.getId()+"','"+student.getName()
    +"','"+student.getSex()+"',"+student.getScore()+")";
    try {
    int rs = st.executeUpdate(sql);  通过返回值rs判断是否成功,表示对表数据的影响行数,rs=0代表操作失败
    return rs;
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    根据id删除学生

    String sql = "delete from student where id ="+id;
    try {
    int rs = st.executeUpdate(sql);  同样  rs为0代表操作失败,>0代表对rs条数据进行了删除
    return rs;
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    根据id修改学生

    String sql ="update student set id='"+student.getId()+"',name='"+student.getName()+"',sex='"
    +student.getSex()+"',score='"+student.getScore()+"'where id='"+id+"'";
    try {
    int rs = st.executeUpdate(sql);
    return rs;
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

      查找数据

    String sql = "select * from student where id="+id;
    Student student;
    try {
    ResultSet rs = st.executeQuery(sql);   这里返回的不再是int数据了,而是一个集合,结果集
    while (rs.next()) {
    student = new Student(rs.getString("id"), rs.getString("name"),
    rs.getString("sex"), Integer.valueOf(rs.getString("score")));
    rs.close();
    return student;
    }  这个循环将结果集封装为对象
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

  • 相关阅读:
    接口自动化框架脚手架利用反射机制实现接口统一发起端
    Google开源依赖注入框架Guice指南
    浅谈依赖注入的实现
    MindStudio模型训练场景精度比对全流程和结果分析
    应用现代化产业联盟,正式成立
    OpenHarmony移植案例: build lite源码分析之hb命令__entry__.py
    开源遇上华为云——DataX for HuaweiCloud OBS
    想开发DAYU200,我教你
    动手实践丨使用华为云IoT边缘体验“边云协同”
    想会用synchronized锁,先掌握底层核心原理
  • 原文地址:https://www.cnblogs.com/ZouHongxue/p/7559767.html
Copyright © 2020-2023  润新知