JDBC连接数据库步骤(包括导入jar包,navicat建立一个表)

步骤1:导入jar包
从官网下载好对应版本的压缩包 下载zip版本

解压打开找到
复制
在ecplise该项目下新建文件夹,命名为lib,粘贴到该文件夹下

选中 右键Build Path-Add to Path即可

成功图

步骤2:初始化驱动

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

完整代码 可测试

public class Test { 
	public static void main(String[] args) { 
		try { 
		//如果忘记了第一个步骤的导包,就会抛出ClassNotFoundException
			Class.forName("com.mysql.cj.jdbc.Driver");
			System.out.println("数据库驱动加载成功");
		}catch(ClassNotFoundException e) { 
			e.printStackTrace();
		}
	}
}

步骤3:建立与数据库的连接

//建立与数据库的连接
//建立与数据库的连接
Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/study?serverTimezone=GMT%2B8", "root", "IKUN1220");	
//其中?serverTimezone=GMT%2B8是防止出现时区报错
//study是我的数据库名称
// 账号 root
// 密码 IKUN1220
//账号密码用自己当初为mysql设置的

如何新建数据库 这里以在navicat为例
在任何一个已有的数据库名称上右键-新建数据库,自己输入名字
点击查询后再点击新建查询
将一下sql语句粘贴并运行 可出现与我代码中一样的数据库,这样sql语句就不用改了,不过名称是自己命名的,更改一下即可

CREATE TABLE hero (
  id int(11) AUTO_INCREMENT,
  name varchar(30) ,
  hp float ,
  damage int(11) ,
  PRIMARY KEY (id)
)  DEFAULT CHARSET=utf8;

运行后刷新即可
在粘贴一行并运行刷新,可往表里插入数据

insert into hero values (null, '盖伦', 616, 100)

这里先不贴可运行出来的代码,我会在文章的最后贴出完整代码
步骤4:创建Statement

//3.创建Statement语句
//Statement是用于执行SQL语句的,比如增加,删除 
Statement s = c.createStatement();

步骤5:执行sql语句

String sql = "insert into hero values(null,'坤',1000,666)";
s.execute(sql);

步骤6:关闭连接

			if(s != null) { 
				try { 
					s.close();
				} catch (SQLException e) { 
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
			if(c != null) { 
				try { 
					c.close();
				} catch (SQLException e) { 
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}

完整代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test { 
	
	public static void main(String[] args) { 
		
		Connection c = null;
		Statement s = null;
		try { 
			//1.加载驱动
			Class.forName("com.mysql.cj.jdbc.Driver");
			
			//2.建立与数据库的连接
			c = DriverManager.getConnection("jdbc:mysql://localhost:3306/study?serverTimezone=GMT%2B8", "root", "IKUN1220");
			
			//3.创建Statement语句
			s = c.createStatement();
			
			//4.执行sql语句
			//s.execute执行sql语句
			String sql = "insert into hero values(null,'坤',1000,666)";
			s.execute(sql);
			
		}catch(ClassNotFoundException e) { 
			e.printStackTrace();
		} catch (SQLException e) { 
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally { 
			//先关闭s
			if(s != null) { 
				try { 
					s.close();
				} catch (SQLException e) { 
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
			if(c != null) { 
				try { 
					c.close();
				} catch (SQLException e) { 
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
	}

}

***如果觉得上面关闭连接的方式很麻烦,可使用try-with-resource
方式自动关闭连接

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Test { 
	
	public static void main(String[] args) { 
		try { 
			Class.forName("com.mysql.cj.jdbc.Driver");
		}catch (ClassNotFoundException e) { 
            e.printStackTrace();
        }
		
		try(
			Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/study?serverTimezone=GMT%2B8", "root", "IKUN1220");
			Statement s = c.createStatement();
		){ 
			String sql = "insert into hero values(null,'xiaokui',101,666)";
			s.execute(sql);
		}catch(SQLException e) { 
			e.printStackTrace();
		}
  
		
	}

}

本文地址:https://blog.csdn.net/weixin_45732235/article/details/110822123

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐