当前位置: 首页 > news >正文

JDBC-MySQL

JDBC-MySQL

  • 1.JDBC 操作步骤
    • 1.1 DriverManager
    • 1.2.Connection对象
    • 1.3 Statement
    • 1.4 PreparedStatement

1.JDBC 操作步骤

在这里插入图片描述

public  void quickStart() throws ClassNotFoundException, SQLException {//1、注册驱动 (确认要使用哪个数据库)Class.forName("com.mysql.jdbc.Driver"); //加载Driver类//2、连接数据库 (获取到一个数据库连接对象)String url ="jdbc:mysql://127.0.0.1:3306/db1";//String url ="jdbc:mysql://127.0.0.1:3306/db5?useUnicode=true&characterEncoding=utf8";//解决中文乱码Connection conn = DriverManager.getConnection(url, "root", "");//3、编写SQL语句String sql="select id,name  from user";//4、把SQL语句发送给数据库 (数据库执行SQL代码,并返回执行结果)Statement stmt = conn.createStatement();//基于数据库连接对象,创建一个操作数据库的对象ResultSet rs = stmt.executeQuery(sql);//把sql代码发给数据库//5、处理SQL的执行结果while(rs != null && rs.next()){System.out.print(rs.getInt("id")+"\t");System.out.print(rs.getString("name")+"\t");System.out.println("=======================================");}//6、释放资源(断开和数据库的连接)rs.close();stmt.close();conn.close();}

1.1 DriverManager

Driver Manager(驱动管理类)作用:
1.注册驱动
2.获取数据库连接
//注册驱动
MySQL 5之后的驱动包,可以省略注册驱动的步骤
自动加载jar包中META-INF/services/java.sql.Driver文件中的驱动类
Class.forName("com.mysql.jdbc.Driver");//获取数据库连接
Connection conn = DriverManager.getConnection(连接路径, 用户名, 密码);

1.2.Connection对象

Connection(数据库连接对象)作用:
1.获取执行 SQL 的对象
2.管理事务
//Connection是一个接口
//作为数据库连接对象
//作用:  1、创建数据库操作对象    2、管理事务conn.setAutoCommit(false); //相当于MySQL中的 : start transaction;conn.commit();             //相当于mysql中的: commitconn.rollback();            // rollback

1.3 Statement

Statement作用:
执行SQL语句
int    executeUpdate(sql):执行DMLDDL语句
//返回值:(1) DML语句影响的行数 (2) DDL语句执行后,执行成功返回 0
ResultSet    executeQuery(sql):执行DQL 语句
//返回值: ResultSet 结果集对象ResultSet使用步骤:
游标向下移动一行,并判断该行否有数据:next()
获取数据:getXxx(参数)
//循环判断游标是否是最后一行末尾
while(rs.next()){//获取数据rs.getXxx(参数);
}

1.4 PreparedStatement

解决Statement对象中存在的SQL注入风险

//创建PreparedStatement对象   【预编译SQL对象】
PreparedStatement  pstmt = 数据库连接对象.prepareStatement( sql语句 );
String sql="select * from user where username=? and pasword=?";//?是占位符(先占个位置,没有值)把sql语句先发给数据库给?占位符,赋值:   1,"aaa"     2,"aaa"
http://www.lryc.cn/news/362841.html

相关文章:

  • MySQL经典练习50题(上)(解析版)
  • 每日一题33:数据统计之广告效果
  • 52、有边数限制的最短路
  • Spring boot实现基于注解的aop面向切面编程
  • MySQL之查询性能优化(四)
  • 定时任务详解
  • OnlyOffice DocumentServer 8.0.1编译破解版本(¥100)
  • Android 应用权限
  • MATLAB 匿名函数
  • Java 新手入门:基础知识点一览
  • 三维模型轻量化工具:手工模型、BIM、倾斜摄影等皆可用!
  • 小程序CI/CD之自动化打包预览并钉钉通知发布进程
  • C++使用QtHttpServer开发服务端Server的Http POST接口和客户端Client示例
  • 计算机基础(8)——音频数字化(模电与数电)
  • 手搓单链表(无哨兵位)(C语言)
  • 代码随想录算法训练营第18天|二叉树
  • 使用tftpd更新开发板内核
  • MySQL数据库整体知识点简述
  • 深入理解MySQL索引下推优化
  • 论文降重技巧:AI工具如何助力论文原创性提升?
  • el-date-picker的使用,及解决切换type时面板样式错乱问题
  • Flutter 中的 ToggleButtonsTheme 小部件:全面指南
  • 新手教程之使用LLaMa-Factory微调LLaMa3
  • Java函数笔记
  • Maven实战: 从工程创建自定义archetype
  • 初识JAVA中的包装类,时间复杂度及空间复杂度
  • RapidMiner如何利用Hugging Face中的模型实现更有趣的事
  • Vue3 自定义Hooks函数的封装
  • python的DataFrame和Series
  • ARP欺骗的原理与详细步骤