MySQL数据库之JDBC

使用步骤

  1. 创建数据库连接Connection
  2. 创建操作命令Statement
  3. 使用操作命令来执行SQL
  4. 处理结果集ResultSet
  5. 释放资源

JDBC常用接口和类

数据库连接Connection

  • 通过DriverManager(驱动管理类)的静态方法获取:
//加载JDBC驱动程序
Class.forName("com.mysql.jdbc.Driver");

//创建数据库连接
Connection connection = DriverManager.getConnection(jdbc:mysql://localhost:3306/test?  
user=root&password=root&useUnicode=true&characterEncoding=UTF-8);
  • 通过DataSource(数据源)对象获取:
DataSource ds = new MysqlDataSource();
((MysqlDataSource) ds).setUrl("jdbc:mysql://localhost:3306/test");
((MysqlDataSource) ds).setUser("root");
((MysqlDataSource) ds).setPassword("root");
Connection connection = ds.getConnection();

以上两种方式的区别:

  1. DriverManager类来获取的Connection连接,是无法重复利用的,每次使用完以后释放资源
    时,通过connection.close()都是关闭物理连接。
  2. DataSource提供连接池的支持。连接池在初始化时将创建一定数量的数据库连接,这些连接
    是可以复用的,每次使用完数据库连接,释放资源调用connection.close()都是将Conncetion连接对象回收。

Statement对象

JDBC API中主要提供了三种Statement对象:

  1. Statement:
    • 用于执行不带参数的简单SQL语句
  2. PreparedStatement:
    • 用于执行带或者不带参数的SQL语句
    • SQL语句会预编译在数据库系统
    • 执行速度快于Statement对象
  3. CallableStatement:
    • 用于执行数据库储存过程的调用

PreparedStatement对象

PreparedStatement特性

  1. 参数化SQL查询
  2. 性能比Statement高
  3. SQL预编译
  4. 阻止常见SQL注入攻击
  5. 占位符:? 下标从1开始
  6. 占位符不能使用多值

常用方法

方法声明作用
int excuteUpdate(String sql)可执行增、删、改,返回执行受到影响的行数
ResultSet executeQuery(String sql)执行SQL查询,并返回ResultSet对象
boolean execute(String sql)可执行任何SQL语句,返回一个布尔值,表示是否返回ResultSet(只有执行查询才为true)

ResultSet对象

ResultSet对象被称为结果集,它代表符合SQL语句条件的所有行,并且它通过一套getXXX方法提供了对这些行中数据的访问。

常用方法

方法声明作用
boolean next()游标下移,判断该行是否有结果
xx.getXx(int index)获取该行结果中某个字段的数据,index为编号,index从1开始
xx.getXx(String name)获取该行结果中某个字段的数据,name为字段名
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值