欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-15 17:47:03
步骤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 {//如果忘记...

步骤1:导入jar包
从官网下载好对应版本的压缩包 下载zip版本
JDBC连接数据库步骤(包括导入jar包,navicat建立一个表)
解压打开找到
JDBC连接数据库步骤(包括导入jar包,navicat建立一个表)复制
在ecplise该项目下新建文件夹,命名为lib,粘贴到该文件夹下
JDBC连接数据库步骤(包括导入jar包,navicat建立一个表)
选中 右键Build Path-Add to Path即可
JDBC连接数据库步骤(包括导入jar包,navicat建立一个表)
成功图

步骤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();
		}
	}
}

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

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

如何新建数据库 这里以在navicat为例
在任何一个已有的数据库名称上右键-新建数据库,自己输入名字
JDBC连接数据库步骤(包括导入jar包,navicat建立一个表)点击查询后再点击新建查询
JDBC连接数据库步骤(包括导入jar包,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;

JDBC连接数据库步骤(包括导入jar包,navicat建立一个表)运行后刷新即可
在粘贴一行并运行刷新,可往表里插入数据

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

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

这里先不贴可运行出来的代码,我会在文章的最后贴出完整代码
步骤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

相关标签: jdbc mysql sql