JDBC

作者: xiongsirui | 来源:发表于2016-08-17 01:27 被阅读18次

    一、JDBC简介

    image.png
    JDBC:Java DataBase Connectivity,是SUN推出的操作数据库的规范。
    JDBC和数据库驱动:规范和实现的关系。
    二、JDBC的开发步骤
    0、搭建开发环境:把数据库驱动的jar包加入加入目录
    1、注册驱动
    2、获取与数据库的链接
    3、创建代表SQL语句的对象
    4、执行SQL语句
    5、如果是查询语句:返回结果集
    6、释放资源
    三、JDBC规范中常用的接口或类
    1、DriverManager
    作用:
    a.注册驱动
    缺点:
    1、严重依赖具体的数据库驱动
    2、导致数据驱动注册2遍
    方式二:(推荐)
    Class.forName("com.mysql.jdbc.Driver");
    b.获取与数据库的链接
    方式一:
    Connection conn =
    DriverManager.getConnection("jdbc:mysql://localhost:3306/day15",
    "root", "sorry");
    String url:JDBC与数据库厂商的协议。具体参考数据库的文档。
    Oracle:jdbc:oracle:thin:@localhost:1521:orcl 瘦客户端链接方式
    jdbc:oracle:client:@localhost:1521:orcl 客户端链接方式,高效
    2、Connection
    作用:所有与数据库的交互都是基于链接的。
    Statement createStatement():创建代表SQL语句的对象
    3、Statement
    作用:代表SQL语句对象
    常用方法:
    ResultSet executeQuery(String sql):执行查询,返回结果集。
    int executeUpdate(String sql):执行DML语句。返回的是SQL语句影响到的记录条数。
    boolean execute(String sql):执行任何的SQL语句。返回值不代表成功与否。如果执行的语句有结果集,返回true,否则返回false。
    4、ResultSet
    //封装:把结果搞到实体Bean(Domain),模型
    image.png
    常用的方法:
    boolean next():向下移动。返回有没有记录
    boolean provious():向上移动。返回有没有记录
    boolean absolute(int row):定位。返回有没有记录。看第2条,写2.
    void beforeFirst():移动到第一条记录的前面。
    void afterLast():移动到最后一条记录的后面。
    释放资源:

    四、抽取JDBC的工具类
    五、JDBC进行表单的CRUD
    六、改写用户注册和登录案例
    1、自定义Dao运行时异常
    2、利用工厂模式对业务处理层和Dao层进行解耦
    3、问题:
    添加或修改数据时,dao实现写的sql语句不是很方便。
    执行的效率不是很高
    存在SQL注入的问题
    七、PreparedStatement接口
    原则:能用PreparedStatement就不要使用Statement
    优点:
    参数使用占位符(?)替代
    预编SQL语句,执行效率高
    不存在SQL注入问题
    八、单表案例:客户信息管理Web工程

    相关文章

      网友评论

          本文标题:JDBC

          本文链接:https://www.haomeiwen.com/subject/ustpsttx.html