java--JDBC连接MySQL数据库基本操作
刚开始练习使用MySQL时会有很多问题出现,总结我出现的问题
必要环境:
1.当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(这个是最新版的)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具体如下:“我的电脑”-> “属性” -> “高级” -> “环境变量”,在系统变量那里编辑classpath,将D:\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加“;”,以与前一个classpath区分开。然后确定。
2.下载好MySQL连接驱动:mysql-connector-java-5.1.27.jar,将下载好的JDBC放到项目文件夹下,如下图所示:
3.右键工程名,在java build path中的Add Libraries
先附上代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Statement;
public class ConnMySQL {
/**
* java与MySQL的连接
* @param args
*/
Connection conn=null;
public Connection getConnection(){
try{
Class.forName("com.mysql.jdbc.Driver"); //加载数据库驱动
System.out.println("数据库驱动加载成功");
String url="jdbc:mysql://localhost:3306/company?useSSL=false";
//如果不加useSSL=false就会有警告,由于jdbc和mysql版本不同,有一个连接安全问题
String user="root";
String passWord="123456";
//System.out.println("1");
//Connection对象引的是java.sql.Connection包
conn=(Connection)DriverManager.getConnection(url,user,passWord); //创建连接
System.out.println("已成功的与数据库MySQL建立连接!!");
}catch(Exception e){
e.printStackTrace();
}
return conn;
}
//显示数据库中的表
public ResultSet listDB(){
String sql="show tables;";
try{
conn=getConnection();
Statement stmt=(Statement) conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
ResultSet rs=stmt.executeQuery(sql);
return rs;
}catch(SQLException ex){
//ex.printStackTrace();
System.out.println(ex.getMessage());
return null;
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ConnMySQL mysql= new ConnMySQL();
mysql.getConnection();
ResultSet rest=mysql.listDB();
System.out.println("数据库company中有下列数据表:");
try{
while(rest.next()){
System.out.println(rest.getString(1));
}
}catch(SQLException e){
e.printStackTrace();
}
}
}
1. 安装MySql服务器(报错:Access denied for user 'root'@'localhost' (using password: YES))
找到后my.ini的文件(默认在C:\ProgramData\MySQL\MySQL Server 5.7下),
- 打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。(WIN7默认安装,my.ini在C:\ProgramData\MySQL\MySQL Server 5.6)
- 重启MySQL服务。
- 通过命令行进入MySQL的BIN目录,输入“mysql -u root -p”(不输入密码),回车即可进入数据库。(WIN7默认安装,BIN目录为:C:\Program Files\MySQL\MySQL Server 5.6\bin)
- 执行“use mysql;”,使用mysql数据库。
- 执行“ update MySQL.user set authentication_string=password('123456') where user='root'”(修改root的密码)
- 打开MySQL目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。
- 重启MySQL服务。
- 在命令行中输入“mysql -u root -p 123456”,即可成功连接数据库。
2.连接安全报错
如果不加useSSL=false就会有警告,由于jdbc和mysql版本不同,有一个连接安全问题
比如:String url="jdbc:mysql://localhost:3306/company?useSSL=false";(正确的写法)
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)