介绍JDBC快速入门使用到的包和类

12 篇文章 0 订阅
介绍JDBC快速入门使用到的包和类
  • java.sql 所有与JDBC访问数据库相关的类和接口
  • javax.sql 用到数据库连接池 数据库的扩展包,提供数据库操作额外一些功能,如:连接池
  • DrierManager 驱动管理 注册驱动 还有获取数据库连接对象
  • Connection 连接对象 用于创建执行sql对象 Statement 、PreparedStatement对象
  • Statement sql语句执行对象,用于将sql 语句发送给数据库服务器
  • PreparedStatement sql语句执行对象 是Statement接口的子接口
  • ResultSet 用于封装从数据库查询出来的结果值
    DriverManager类
  • 从JDBC3开始,可以不用注册驱动可以直接使用。Class.forName();
  • Connection getConnection(url,user,password):可以获取到数据库的连接对象
  • Connection getConnection(String url,Properties info); 通过连接字符串和属性对象获取数据连接对象
  • user 登录数据库用户名
  • password 登录数据库的密码
  • url 连接数据库的路径 对于mysql 而言 jdbc:mysql://服务器ip地址:端口号3306/数据库名称?[参数名 = 参数值]
  • 驱动类路径 com.mysql.jdbc.Driver
  • jdbc:mysql://服务器ip地址:端口号3306/数据库名称?[参数名= 参数值],如果数据库的服务器是在本地中,省略掉ip地址和端口号—》jdbc:mysql:///数据库名称?[参数名=参数值] 如果数据库传输时引发了乱码,后面可以使用参数 characterEncoding = utf8 jdbc:mysql:///数据库名称?characterEncoding = utf8
Connection接口
  • 作用: 连接数据库,他是一个接口,有具体的厂商来提供具体的实现类,代表的是一个连接对象
  • Statement createStatement() 创建一个sql 执行对象
  • PreparStatement preparedStatement() 创建一个sql预处理对象
Statement接口

作用:用来执行sql语句,本质是把sql语句发送给数据库服务器

  • int executeUpdate(String sql) 用于把sql语句发送给服务器,执行增删改操作,返回值int 影响数据库的记录数(行)
  • ResultSet executeQuery(String sql) 用于把sql语句发送给服务器,执行查询操作。返回值ResultSet查询返回的结果集
PreparedStatement
  • 执行sql的对象
  • 会防止一些sql非法注入问题,在拼接sql语句时,可能会造成安全问题。如:
  • " select * from account where username like '% " +username + " % ’ and balance = ’ " + balance + " ’ + " or 1 = 1 "
  • 此时出现 “or 1=1 ”非法拼接问题
  • 使用预编译的sql,参数使用?作为占位符
  • 操作:
    - 在sql语句中涉及到参数时使用?代替具体的数据 如:select * from user where username = ? and password = ?
    - 使用连接对象执行sql语句获取预编译对象 connection.preparedStatement(String sql)
    - 给?赋值:
    使用方法:setXxx(?索引下标,?对应的实际值)
    - 使用预编译对象执行sql,获取返回的结果集值–
    >preparedStatement.executeQuery();
    - 处理结果
    - 释放资源
释放资源
  • 需要释放资源对象:ResultSet对象 Statement对象 Connection对象
  • 释放的顺序:先开后关,后开先关 ResulSet–>Statement–>Connection
  • 释放资源:使用finally语句块,一定会被加载到。不能单独使用,需要搭配try语句块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值