zoukankan      html  css  js  c++  java
  • JDBC操作oracle

    JDBC (java DataBase Connection)java数据库连接
    使用jdbc使用java.sql包下的常用的几个接口:
    Connection 用于获得数据库的连接
    Statement 用于对数据库发送并且执行命令
    ResultSet 用于接收查询返回的结果集,该接口中定义了对于结果
    集遍历和过去的一些方法
    PreparedStatement

    连接不同的数据库,要去下载数据库厂商根据JDBCAPI实现的代码,也
    称之为驱动包(.jar)

    使用java连接数据库的步骤
    1.加载驱动
    Class.forName("驱动类") 动态加载驱动类
    2.获得连接,通过Connection接口接收DriverManager类的getConnection
    方法产生的连接实例,该方法中需要指定三个参数
    3.通过Statement来执行数据库命令,通过connection来创建并且
    通过statement对象的execute方法来执行
    4.通过ResultSet接收查询返回的结果集
    查询使用executeQuery()方法,该方法返回一个ResultSet
    5.然后通过rs结果集的.next()方法判断是否存在可遍历的数据
    存在结果就遍历这条数据,在循环内通过rs.get()方法得到一条数据
    中的每一列的值,oracle中列是什么类型就用对应的getjava类型
    的方法去得到这一列,括号中写列名或者以查询的列下标为单位
    6.遍历结束后,依次关闭rs,stmt,con


    PreparedStatement(预编译该接口是Statement接口的子接口,
    但是和Statement相比,这个接口性能更好
    1.Statement在每次执行时需要放入sql语句,会先编译并且执行
    而PreparedStatement会在创建时就先放入sql语句,预编译
    预编译会先编译好语句缓存在数据库中,这样后面重复使用这条语句
    时无需重新编译,直接可以执行
    2.Statement不安全,拼接字符串条件时容易被sql注入攻击,而
    预编译不是通过字符串拼接,而是占位符,无法被注入
    3.Statemnt执行查询效率较高,PreparedStatement批量处理增删改
    效率更好

    在预编译中,sql语句中的数据可以使用?来替代,无需拼接.在执行
    之前需要给sql语句中的每个占位符设置值,以实际数据库类型对应的
    java类型的setXX方法来设置,方法需要指定两个参数,第一个是
    占位符的下标,第二个是设置的数据,下标从1开始

    题目

    1.写一个类,类中6个方法,对应着增删改查和菜单,类中声明三个全局的
    接口Connection,PreparedStatement,ResultSet

    进入菜单选择1.添加员工 2.修改员工 3.删除员工 4.查询全部员工
    5.查询单个员工(1.根据id查询 2.根据名字模糊查询)
    where ename like ?
    pst.setString(1,"%"+name+"%")

    (2.修改员工)进入先调用查询全部员工的方法,然后输入员工编号,修改,如果这个
    员工不存在就提示重新输入,存在(改名字,入职日期)
    (3.删除员工)进入先调用查询全部员工的方法。然后输入id删除

  • 相关阅读:
    python sort dict 总结
    深度学习网络压缩模型方法总结(model compression)
    串口通讯(中)——USART
    串口通讯(上)——基础概念
    关于通讯的一点常识
    SysTick定时器的一个简单应用
    RCC时钟配置实践
    GPIO输入——按键检测
    stm32中断初识与实践(下)
    stm32中断初识与实践(上)
  • 原文地址:https://www.cnblogs.com/beiluoL/p/10525414.html
Copyright © 2011-2022 走看看