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

JDBC-java操作数据库

1.基本结构:

package com.atguigu.servlets;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;public class JDBCemo {public static void main(String[] args) throws Exception{String url = "jdbc:mysql:///mysql";String username = "root";String password = "123456";Connection conn = DriverManager.getConnection(url, username, password);String sql = "update account set money = 2000 where id = 1";Statement stmt = conn.createStatement();int count = stmt.executeUpdate(sql);System.out.println(count);stmt.close();conn.close();}
}

2.详细api解释:

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

②Connectiong作用:获取执行sql的对象:createStatement()  prepareStatement(sql)

③Statement作用:执行sql语句   int executeUpdate(sql)执行DML(数据操作语句:数据进行操作)、DDL(数据定义语句:操作数据库对象的结构)    返回影响的行数

                                                     ResultSet executeQuery(sql)执行DQL语句(数据查询语句:进行数据的查询) 返回结果集

④ResultSet作用:封装了DQL查询的结果

ResultSet stmt.executeQuery(sql)

ResultSet中定义的方法:
 

boolean next():向前移动一行,判断当前行是否为有效行,true为有效, false为无效

xxx getXxx(参数)获取数据

参数:int 列的编号   String:列的名称

package com.atguigu.servlets;import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;public class JDBCemo {public static void main(String[] args) throws Exception{String url = "jdbc:mysql:///mysql";String username = "root";String password = "123456";Connection conn = DriverManager.getConnection(url, username, password);String sql = "select * from account";Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);while (rs.next()){int id = rs.getInt(1);String name = rs.getString(2);double money = rs.getDouble(3);System.out.println(id);System.out.println(name);System.out.println(money);}stmt.close();conn.close();}
}

⑤PreparedStatement作用:预编译sql语句并执行

优点:预编译sql,性能更好;防止sql注入;

想要打开预编译功能,需要在连接的url后加入一串代码

String url = "jdbc:mysql:///mysql&userServerPreStmts=true";
package com.atguigu.servlets;import java.sql.*;public class JDBCemo {public static void main(String[] args) throws Exception{String url = "jdbc:mysql:///mysql";String username = "root";String password = "123456";Connection conn = DriverManager.getConnection(url, username, password);String sql = "select * from  user where name = ? and password = ?";PreparedStatement pstmt = conn.prepareStatement(sql);String inname = "wangwu";int inps = 123456;pstmt.setString(1, inname);pstmt.setInt(2, inps);pstmt.executeQuery();pstmt.close();conn.close();}
}

获取对象:

(1)注册驱动

Class.forName(("com.mysql.jdbc.Driver"));

mqsql5之后的驱动包就可以省略注册驱动的步骤

(2)获取连接对象

Connection conn = DriverManager.getConnection(url, username, password);

其中,url的语法:

jdbc:mysql://ip地址(域名:localhost)/数据库名称

实例: String url = "jdbc:mysql://localhost/mysql";

细节:如果连接的是本机mysql数据库,端口号为3306,则可以简写

String url = "jdbc:mysql:///mysql";

http://www.lryc.cn/news/2384466.html

相关文章:

  • [原创](现代Delphi 12指南):[macOS 64bit App开发]: 如何获取目录大小?
  • 线程调度与单例模式:wait、notify与懒汉模式解析
  • MySQL中TCP和套接字SSL加密连接行为分析
  • php本地 curl 请求证书问题解决
  • Callable
  • Honeywell 05701-A-0302 单通道控制卡
  • 爱普生晶振赋能UWB汽车数字钥匙,解锁未来出行新方式
  • 电子电路:深入理解电磁耦合的定义与应用
  • 宝塔安装的 MySQL 无法连接的情况及解决方案
  • 今日行情明日机会——20250523
  • 微服务项目->在线oj系统(Java版 - 4)
  • ReAct 与 CoAct:AI 代理的推理与行动之旅
  • 电子电路:什么是滤波器,什么优势高通滤波器?
  • uni-app使用大集
  • [Spring Boot]整合Java Mail实现Outlook发送邮件
  • 零件剖切配置教学 | 玩转EasyTwin 工业产线第三期(上)课程回顾
  • onnx模型转入rknn3399平台上工作记录
  • 进考场!软考考试现场答题的注意事项
  • 第三个小程序动工:一款结合ai的菜谱小程序
  • OpenCV CUDA 模块图像过滤------创建一个线性滤波器(Linear Filter)函数createLinearFilter()
  • 广告反作弊都有哪些方法
  • Excel 密码忘记了?巧用PassFab for Excel 解密帮您找回数据!
  • Vue.js教学第十二章:Vue Router实战指南(二)
  • 【前端开发】Uniapp日期时间选择器:实现分钟动态步长设置
  • 跑通Multi-Agent-Constrained-Policy-Optimisation
  • Visual Studio已更新为17.14+集成deepseek实现高效编程
  • go 基础语法 【教程 go tour】
  • 养生指南:五维打造健康新方式
  • 网络爬虫学习之httpx的使用
  • 无人机桥梁检测效率问题-高精度3D建模及航线规划