JDBC

发布时间:2022-06-20 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JDBC脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

JDBC

  • JDBC就是使用java语言操作关系型数据库的一套API

MySQL jar包导入和下载

下载地址:MySQL :: Download Connector/J

JDBC

下载完成后导入jar包

例子:

//1.注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.获取连接
String url="jdbc:mysql://127.0.0.1:3306/db2";
String username="root";
String password="123456";
Connection conn = DriverManager.getConnection(url, username, password);
//3.定义sql语句
String sql="update account set money=2000 where id=1;";

//4.获取执行sql的对象 statement
Statement stmt = conn.createstatement();

//5.执行sql
int count =stmt.executeUpdate(sql);//受影响的行数

//6.处理结果
System.out.PRintln(count);

//7.释放资
stmt.close();
conn.close();

JDBC的api

DriverManager

  • DriverManager(驱动管理类)作用:
    1. 注册驱动
    2. 获取数据库连接

Connection

  • Connection(数据库连接对象)作用:
    1. 获取执行sql的对象
    2. 管理事务
  • 管理事务例子:
try {
    conn.setAutoCommIT(false);//开启事务
    //5.执行sql
    int count1 =stmt.executeUpdate(sql1);//受影响的行数
    //6.处理结果
    System.out.println(count1);
    //5.执行sql
    int count2 =stmt.executeUpdate(sql2);//受影响的行数
    //6.处理结果
    System.out.println(count2);
    conn.COMmit();//提交事务
} catch (Exception e) {
    conn.rollback();//回滚事务
    e.printStackTrace();
}

Statement

  • 执行sql语句
  • 主要方法:
    1. statement.executeQuery(); 查找操作 返回resultset
    2. statement.execute(); 执行任何sql
    3. statement.executeUpdate(); 更新 插入 删除都是用这个,返回一个受影响的行数
    4. statement.executeBatch;处理多个sql语句

Resultset

  • 获得指定的结果集
  • 遍历
    1. resultset.beforeFirst() 移动到最前面
    2. resultset.afterlast()移动到最后面
    3. resultset.next()移动到下一行
    4. resultset.revious()移动到上一行
    5. resultset.absolute(int i) 移动到指定行

conn.prepareStatement

  • 预编译 止sql的注入
  • 例子:
String url="jdbc:mysql://127.0.0.1:3306/db1";
String username="root";
String password="123456";
Connection conn = DriverManager.getConnection(url, username, password); //链接数据库成功
//准备sql语句
String user_name="xiaoqiu";
String user_pwd="1234567";
String sql="select * From user where username=? and password=?";

Preparedstatement pstm = conn.prepareStatement(sql);//获取pstm对象
pstm.setString(1,user_name); //给第一个?赋值
pstm.setString(2,user_pwd);//给第二个?赋值
ResultSet rs = pstm.executeQuery();// 获取结果集
if(rs.next())
{
    System.out.println("登陆成功");
}else{
    System.out.println("账号或者密码错误");
}
conn.close();
pstm.close();
rs.close();

数据库连接池

  • 数据库连接池是一个容器,负责分配,管理数据库连接
  • 它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个
  • 释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏
  • 好处
    1. 资源重用
    2. 提升系统相应速度
    3. 避免数据库连接遗漏

使用Druid的具体步骤

配置文件:

url=jdbc:mysql://localhost:3306/db2?rewriteBatchedStatements=true
username=root
password=123456
driverclassname=com.mysql.cj.jdbc.Driver
# 初始化连接数量
initialSize=10
# 最大连接数
maxActive=20
# 最大的等待时间
maxWait=1000

filters=wall
//1.导入jar包

 //2.定义配置文件

 //3.加载配置文件
 ProPErties prop=new Properties();
 prop.load(new FileinputStream("JDBC/src/druid.properties"));
 //4.获取连接池对象

 DataSource dataSource = DruidDataSourceFactory.createDataSource(prop);


 //获取数据库连接
 Connection conn = dataSource.getConnection();
 System.out.println(conn);

脚本宝典总结

以上是脚本宝典为你收集整理的JDBC全部内容,希望文章能够帮你解决JDBC所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。