java连接数据库
JDBC编写
JDBC编写六步走:
1、注册驱动,告诉java程序我们要链接什么数据库
【mysql为案例】
5.1.x驱动包中的驱动类路径:【com.mysql.jdbc.Driver】
8.x.x驱动包中的驱动类路径:【com.mysql.cj.jdbc.Driver】
2、创建与数据库的链接对象
3、创建操作数据库对象
4、操作数据库对象调用方法执行sql语句,操作数据库
5、如果第4步是查询操作的话,需要进一步分析查询结果
6、释放资源,关闭与数据库的链接
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBCDemo1 {
public static void main(String[] args) throws Exception {
// 注册驱动,告诉java程序我们要链接什么数据库
Class.forName("com.mysql.jdbc.Driver");
// 创建与数据库的链接对象
// public static Connection getConnection(String url,String user, String password)
/**
* url: 超链接
* jdbc:mysql://192.168.233.129:3306/bigdata?characterEncoding=UTF-8&useUnicode=True
* username: root
* password: 123456
*/
String url = "jdbc:mysql://192.168.233.101:3306/bigdata?characterEncoding=UTF-8&useUnicode=True&useSSL=false";
String username = "root";
String password = "123456";
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("成功获取与mysql数据库的链接对象:" + conn);
// 创建操作数据库对象
Statement state = conn.createStatement();
// 操作数据库对象调用方法执行sql语句,操作数据库
// SQL - 结构化查询语言 只要是结构化数据库,基本都可以使用sql语句【mysql是其中一种】
// 增删改,其它的操作
// 增加
// int i = state.executeUpdate("insert into students values(1007,'李刚2',18,'男','文科一班')");
// if(i==1){
// System.out.println("插入数据成功!");
// }else {
// System.out.println("插入数据失败!");
// }
// 删除
// state.executeUpdate("delete from students where id=1007");
// 修改
// state.executeUpdate("update students set name='江川' where id=1006");
// DQL 查询
ResultSet resultSet = state.executeQuery("select t1.location as location,count(1) as counts from (select location from jd_comment where productColor='墨玉青') t1 group by t1.location order by counts desc limit 10");
// resultSet.next();
// String location = resultSet.getString(1);
// String counts = resultSet.getString(2);
// System.out.println(location+": "+counts);
while (resultSet.next()){
//根据列索引获取元素,从左向右从1开始
// String location = resultSet.getString(1);
// String counts = resultSet.getString(2);
// 根据列名获取
String location = resultSet.getString("location");
String counts = resultSet.getString("counts");
System.out.println(location+": "+counts);
}
// 释放资源,关闭与数据库的链接
state.close();
conn.close();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术