demo1运行出错

demo1运行出错

package com.imooc.jdbc;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

import org.junit.Test;

import com.mysql.cj.jdbc.Driver;
import com.mysql.cj.xdevapi.Statement;

public class JDBCdemo1 {
   @Test
   /**
    * JDBC 的入门程序
    */
   public  void demo1() {
	
	   try {
		//1、加载驱动
		DriverManager.registerDriver(new Driver());
	    //2、获得连接
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/jdbctest","root,", "123");
	    //3、创建sql语句对象,并执行sql
	    //3.1创建执行sql的对象
		
		String sql = "select * from user";
		Statement stmt = (Statement) conn.createStatement();
		//3.2执行sql
		ResultSet resultSet = ((java.sql.Statement) stmt).executeQuery(sql);
	   //4释放资源 
		while(resultSet.next()) {
			int uid = resultSet.getInt("uid");
			String username = resultSet.getString("username");
			String password = resultSet.getString("password");
			String name = resultSet.getString("name");
			System.out.println(uid+"  "+username+"    "+password+"   "+name); 
		}
		 //4释放资源 
		resultSet.close();
		((Connection) stmt).close();
		conn.close();
	   } catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
   }
}

错误问题:

java.sql.SQLException: Access denied for user 'root,'@'localhost' (using password: YES)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at com.imooc.jdbc.JDBCdemo1.demo1(JDBCdemo1.java:24)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

http://img1.sycdn.imooc.com//climg/5f1ed43c09b3721413440882.jpg

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小班 2020-07-28 10:51:32

同学你好,测试贴出代码,在获取连接时,注意用户名是root,而不是root,   建议去掉用户名中的逗号,比如:

http://img1.sycdn.imooc.com//climg/5f1f92b10918d29d05600120.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕运维lh #1
    我改了还是不对, 报错显示 数据库未知 java.sql.SQLSyntaxErrorException: Unknown database 'jdbctest' at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source)
    2020-07-28 14:59:33
  • 好帮手慕小班 回复 提问者 慕运维lh #2
    同学你好,那同学自己的数据库中是不是有这个jdbctest数据库呐,如果没有,同学需要创建对应的jdbctest数据库及对应的表。 继续加油 祝:学习愉快~
    2020-07-28 16:00:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师