Java连接MySQL以及出现的问题

java想要连接数据库,就需要用到JDBC(驱动文件),什么是JDBC.

Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。


package sqltest;
import java.sql.*;
public class TestSql {
	public static void main(String[] args) {
	//加载驱动程序
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
			System.out.println("驱动程序加载成功");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
		//链接数据库
		String str = "jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8&userSSL=false&serverTimezone=GMT%2B8";	
		Connection conn=null;
		try {
			conn=DriverManager.getConnection(str,"root","123456");
			if (!conn.isClosed()) {
				System.out.println("连接数据库成功");
			}
		} catch (SQLException e) {
			System.out.println("链接数据库失败: "+e.getMessage());
		}
		try{
		Statement stmt = conn.createStatement();
	    ResultSet rs = stmt.executeQuery("select user_name,age from student");
        while(rs.next()){//如果对象中有数据,就会循环打印出来
	          System.out.println(rs.getString("user_name")+","+rs.getInt("age"));
      }
		}catch(SQLException e){
			System.out.println("查询失败");
		}
	}
}

需要注意的是网上大多对应的都是5.x的版本,而大家如果是最近下载,难免会下载高版本的驱动文件,这就可能出现错误,下面这个方法可能会帮助到你。

一个是Class.forName(),在5.x版本的驱动文件jar包对应的是:Class.forName("com.mysql.jdbc.Driver");语句来加载数据库驱动。
而如果使用的是8.0x版本的数据库驱动文件,要改成如下:Class.forName("com.mysql.cj.jdbc.Driver");

另一个是url的设置也得进行修改,原本的url如下:String ur="jdbc:mysql://127.0.0.1:3306/test";
应修改为如下:String url="jdbc:mysql://127.0.0.1:3306/testuseUnicode=true&characterEncoding=UTF->8&userSSL=false&serverTimezone=GMT%2B8"; test 就是数据库表名。

猜你喜欢

转载自blog.csdn.net/Fdog_/article/details/106425533