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

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";

相关文章:

  • AT24C02(I2C总线)
  • Vue3 + Element Plus表格筛选样式设置
  • ABZ编码器和霍尔电流感应器的工作原理
  • Android中ServiceManager与Binder驱动的关系
  • Maven 项目介绍
  • Java注解运行时访问与处理技术详解
  • Mujoco 学习系列(五)与ROS之间的通讯
  • OpenCV CUDA 模块中图像过滤------创建一个拉普拉斯(Laplacian)滤波器函数createLaplacianFilter()
  • 【HarmonyOS 5】Map Kit 地图服务之应用内地图加载
  • OSI 深度安全防御体系架构深度剖析
  • HarmonyOS NEXT~鸿蒙AI开发全解析:HarmonyOS SDK中的智能能力与应用实践
  • JavaScript进阶(十二)
  • 【数据集】全球首个10米分辨率精细分类土地覆盖数据集GLC_FCS10
  • 期货反向跟单软件—提高盘手杠杆的方式及剖析
  • 打卡Day33
  • 反转再反转!游戏史上最大收购案放行!
  • 利用 Python 爬虫获取唯品会 VIP 商品详情:实战指南
  • 补题目找规律
  • 学习Raft共识算法基本原理
  • 国产高云FPGA实现MIPI视频解码转HDMI输出,基于OV5647摄像头,提供Gowin工程源码和技术支持
  • 网站怎么做三个页面/推广软文范例
  • 网站拓扑图怎么做/国外网站
  • 深圳网站建设 东莞网站建设/软文营销代理
  • 网站按钮样式/自媒体平台注册
  • 一站式服务平台登录/宁波seo排名外包公司
  • 邢台做网站优化价格/中国知名网站排行榜