package com.dgut.chapter7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class StatementDemo346 {
private Connection conn=null;
private Statement stmt=null;
private ResultSet result=null;
public void queryEmp() {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/scott?serverTimezone=UTC&useUnicode=true&characterEncoding=gbk" ;
String username="root";
String password="123456";
conn=DriverManager.getConnection(url,username,password);
stmt=conn.createStatement();
String selectStr="select * from emp";
result=stmt.executeQuery(selectStr);
System.out.print("员工编号:\t员工姓名:\t工作:");
while(result.next()) {
System.out.print(result.getString("EMPNO")+"\t\t"+result.getString("ENAME")+"\t\t"+result.getString("JOB"));
}
}catch(ClassNotFoundException e) {
e.printStackTrace();
}catch(SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
StatementDemo346 demo=new StatementDemo346();
demo.queryEmp();
}
}
虽然这个连接数据库mysql的代码有点简单,单也会造成很多人失败,我的数据库mysql是8.0版本的,jdbc连接数据库的
驱动程序是mysql-connector-java-8.0.16.jar都用的是目前最新版本的,我这边建议用低版本的比较好一点的哦,遇到的问题会比较少哦
使用原mysql5.1.38不会出现The server time zone value '?й???????' is unrecognized or represents more than one time zone该问题,但会提示版本驱动过旧的情况
使用了Mysql最新版驱动所以报错
新版驱动名字为 driverClass=“com.mysql.cj.jdbc.Driver”。
还有就是 String url = "jdbc:mysql://localhost:3306/scott?serverTimezone=UTC&useUnicode=true&characterEncoding=gbk";中的最后一句gbk和"这个之间不能有空格,否则
在控制台上又会出现错误提示,这个是细节问题。
或者可以使用这个程序来验证是否连接数据mysql成功。
package com.dgut.chapter7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectDatabase {
public void Conn() {
try{
try {
Class.forName("com.mysql.cj.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String url = "jdbc:mysql://localhost:3306/booknet?serverTimezone=UTC&useUnicode=true&characterEncoding=gbk" ; //scott是数据库名
String username = "root" ; //数据库登陆用户名
String password = "123456" ;//数据库登陆用户名密码
Connection con = DriverManager.getConnection(url , username , password ) ;
System.out.print("数据库连接成功");
}catch(SQLException se){
System.out.println("数据库连接失败!");
se.printStackTrace() ;
}
}
public static void main(String[] args) {
ConnectDatabase demo=new ConnectDatabase();
demo.Conn();
}
}
由于版本问题,会遇到各种各样的问题,所以奉劝大家,一定要根据自身情况来解决自身问题