JDBC总结

来源:互联网 发布:协同网络办公系统 编辑:程序博客网 时间:2024/06/07 05:17

一JDBC概述

  • 为什么要使用JDBC?
    JDBC:Java database connectivity SUN公司提供的公司提供的一套操作数据库的标准规范

  • JDBC规范(掌握四个核心对象)

    1.DriverManager:用于注册驱动
    2.Connection:表示与数据库创建的连接
    3.Statement:操作数据裤sql语句的对象
    4.ResultSet:结果集或一张虚拟表

开发JDBC的步骤

  • 创建Java项目,添加驱动
  • 实现JDBC的操作
    .注册驱动
    创建链接
    得到执行sql语句的statement对象
    处理结果
    关闭资源

常用类的讲解

DriverManager:

  • 注册驱动
DriverManager.registerDriver(new com.mysq.jdbc.Driver());强烈不推荐:因为要注册两次驱动并且要依赖jar包解决方法:Class.forName("com.mysql.jdbc.Driver");
  • 得到连接对象
static Connection getConnection(String url, Strig user, String password)getConnection("jdbc://mysql://localhost:3306/day06","root", "root");jdbc://mysql://localhost:3306/day06:协议,子协议,IP和端口号/数据库

Connection接口:一个连接

接口的实现在数据库的驱动中。所有的数据库的操作都是基于对象的。
语句:Statement createStatement();//创建操作sql语句的对象

Statement接口:操作sql语句,并且返回相应的结果对象。

ResultSet executeQuery(String sql);只能执行select语句int executeUpdate(String sql);执行DML(insert update delete)语句boolean execute(String str)此方法可以执行任意的sql语句。返回boolean值,表示是否返回ResultSet结果集,是为true否为false

ResultSet接口:封装结果集

  • 提供一个游标,默认游标指向第一列。

    调用一次next()方法,游标下移一次。
    通过getObject()方法得到这这虚拟表中的数据。

    • 移动光标的方法:boolean next()、boolean previous()

    boolean absolute(int row) 参数是当前行的索引
    void afterLast():将光标移动到末尾
    void beforeFirst() :位于第一行

SQL注入问题:preparedStatement

preparedStatement特点
性能要高
会把sql语句先编译
过滤用户输入的关键字

    conn = DBUtils.getConnection();    String sql = "select * from users where name=? and password=?"    ps = conn.prepareStatement(sql); //得到执行语句的对象    ps.setString(1, name);    ps.setString(2, password);    ps.executeQuery();
原创粉丝点击