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

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.xdnf.cn/news/8256.html

相关文章:

  • k8s网络架构
  • 养生指南:五维焕新健康生活
  • SQL 的 DECODE 函数
  • 会话管理有哪些
  • 蓝桥杯国14 不完整的算式
  • 中文域名25周年,取得哪些里程碑式的进展?
  • 力扣HOT100之图论:207. 课程表
  • MQSQL笔记二——非操控数据操作
  • 【Python】Python 装饰器的用法总结
  • 聚铭安全管家平台2.0重磅发布——大模型智驱高效降本新方向
  • 基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建及典型案例应用
  • LVGL(lv_span富文本控件)
  • Ubuntu 25.04 锁屏不能远程连接的解决方案
  • JavaScript闭包
  • 数据保护与通讯安全
  • 【论文精读】2023 CVPRW--EAVSR现实世界视频超分辨率(RealWorld VSR)
  • 【Go】1、Go语言基础
  • LeRobot 框架的开发指南 (下)
  • react native搭建项目
  • 计算机操作系统(十二)详细讲解调计算机操作系统调度算法与多处理机调度
  • 设计模式系列(05):工厂方法模式(Factory Method)
  • 量化研究---bigquant策略交易api研究
  • 清华大学:基于生成模型的上肢外骨骼机器人助力个性化中风康复
  • 【菜狗work前端】小程序加if判断时不及时刷新 vs Web
  • Spring源码编译
  • 数学建模day01
  • 【AI测试革命】第七期:AI性能测试的深度实践——从智能建模到自动化调优的全链路升级
  • 力扣-最大连续一的个数
  • == 和 equals 的区别
  • 汽车充电桩专用ASCP210系列电气防火限流式保护器