jdbc连接数据库的方法(代码)

2021-08-16 15:47:48 浏览数 (1)

代码语言:javascript复制
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") "tt" result.getString("ENAME") "tt" 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();  

  }

}
由于版本问题,会遇到各种各样的问题,所以奉劝大家,一定要根据自身情况来解决自身问题


0 人点赞