JDBC连接MySQL数据库

一、安装JDBC mysql驱动(省略)

二、连接数据库(共2步骤)

    1.加载数据库驱动并将其注册到驱动管理(DriverManager)类中。

    2.连接数据库。

package com.db;

import java.sql.Connection;
import java.sql.DriverManager;

/**
 * Created by Ray on 2018/3/10 0010.
 **/
public class DBHelper {
//    数据库,端口号
    private static final String url = "jdbc:mysql://localhost:3306/test";
//    数据库用户名
    private static final String username = "root";
//    数据库登录密码
    private static final String password = "root";
//    数据库驱动
    private static final String jdbcName = "com.mysql.jdbc.Driver";

    //连接数据库
    public static Connection getconn(){
        Connection conn = null; //创建Connection连接对象
        try{
            Class.forName(jdbcName); //加载数据库驱动并将其注册到驱动管理列表中
            conn = DriverManager.getConnection(url,username,password);  //连接数据库
        }catch (Exception e){
            e.printStackTrace();
        }
        return conn;
    }

//    写main方法测试是否连接成功,可将本类运行为Java程序先进行测试,再做后续的数据库操作。
    public static void main(String[] args) {
        Connection conn = DBHelper.getconn();
        if(conn != null){
            System.out.println("数据库连接正常!");
        }else{
            System.out.println("数据库连接异常!");
        }
    }
}

结果一(正常):

数据库连接正常

Process finished with exit code 0

结果二(异常):

数据库连接异常!
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:338)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.db.DBHelper.getconn(DBHelper.java:23)
	at com.db.DBHelper.main(DBHelper.java:33)

Process finished with exit code 0

原因:数据库驱动安装不正确,检查com.mysql.jdbc.Driver配置。

结果三(异常):

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'bok'
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
	at com.mysql.jdbc.Util.getInstance(Util.java:408)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3970)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3906)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:873)
	at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4417)
	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1278)
	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)
	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)
	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)
	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at com.db.DBHelper.getconn(DBHelper.java:24)
	at com.db.DBHelper.main(DBHelper.java:33)
数据库连接异常!

Process finished with exit code 0
原因:Unknown database 找不到数据库,请检查url
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值