java mysql 数据库连接

mysql 数据库连接

这里主要是使用 JDBC 连接mysql 数据库

驱动包下载地址:http://dev.mysql.com/downloads/connector/j/

请注意驱动包的版本要与mysql的版本一致。

在mysql8.0以上的版本,数据库连接会存在不同。

使用

需要将我们下载的 mysql 驱动包导入到项目中,且mysql已开启。

加载驱动和连接数据库方式如下:

Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test_demo?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC","root","password");

需要注意的是:

  • 8.0之前的版本,加载驱动为com.mysql.jdbc.Driver,8.0之后改为com.mysql.cj.jdbc.Driver
  • 8.0以上的版本不需要建立SSL连接,需要显示关闭。
  • allowPublicKeyRetrieval = true 允许客户端从服务器获取公钥

数据库连接示例

以8.0数据库为例,假设数据库已构建完毕

// MySQL 8.0 以上版本 - JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.cj.jdbc.Driver";  
static final String DB_URL = "jdbc:mysql://localhost:3306/RUNOOB?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC";

// 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root";
static final String PASS = "123456";

public static void main(String[] args){
	Connection conn = null;
	Statement stmt = null;
	try{
		// 注册驱动
		Class.forName(JDBC_DRIVER);
		// 打开链接
		conn = DriverManager.getConnection(DB_URL,USER,PASS);
		// 执行查询
		stmt = conn.createStatement();
		String sql = " SELECT id,name,url FROM websites ";
		ResultSet rs = stmt.executeQuery(sql);
		
		// 展开结果集
		while(rs.next()){
			int id = rs.getInt("id");
			String name = rs.getString("name");
			String url = rs.getString("url");
			
			System.out.println(id+"  "+name+"   "+url);
		}
		// 完成后关闭
		rs.close();
		stmt.close();
		conn.close();
	}catch(SQLException se){
		// 处理 JDBC 错误
		se.printStackTrace();
	}catch(Exception e){
		// 处理 Class.forName() 错误,注册错误
		e.printStackTrace();
	}finally{
		// 关闭资源
		try{
			if(stmt!=null)	stmt.close();
		}catch(SQLException se){
			se.printStackTrace();
		}

		try{
			if(conn!=null) conn.close();
		}catch(SQLException e){
			e.printStackTrace();
		}
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值