我试图使用下面的DbQuery.
java类执行简单查询,该类使用DbConnector从DriverManager获取连接.
注意:
>我已经在我的网站上加入了“@R_404_198@-connector-java-5.1.25-bin.jar”
classpath via:export
CLASSPATH = $CLASSPATH:/home/me/ocpjp/chapter-10/@R_404_198@-connector-java-5.1.25/@R_404_198@-connector-java-5.1.25-bin.jar
>我能够使用“@R_404_198@ -uroot -ptcial”连接到@R_404_198@
地址簿“,如果重要的话.
>还尝试使用’-cp’运行
争论无济于事.
>我能够让我的#3 DbConnect.java类说“已建立数据库连接”.
>#4 DbQueryWorking.java没有问题,并提供预期的输出.
你能帮我理解这里的问题吗?
1)DbConnector.java
- package com.me.ocpjp.chapter10;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.sqlException;
- public class DbConnector{
- public static Connection connectToDb() throws sqlException{
- String url = "jdbc:@R_404_198@//localhost:3306/";
- String db = "addressBook";
- String username = "root";
- String password = "tcial";
- return DriverManager.getConnection(url+db,username,password);
- }
- }
2)DbQuery.java
- package com.me.ocpjp.chapter10;
- import java.sql.Connection ;
- import java.sql.Statement ;
- import java.sql.ResultSet ;
- import java.sql.sqlException ;
- import com.me.ocpjp.chapter10.DbConnector;
- public class DbQuery{
- public static void main(String[] args){
- try(Connection connection = DbConnector.connectToDb();
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("select * from contact")){
- System.out.println("ID \tfName \tlName \temail \t\tphoneNo");
- while(resultSet.next()){
- System.out.println(resultSet.getInt("id") + "\t"
- + resultSet.getString("firstName") + "\t"
- + resultSet.getString("lastName") + "\t"
- + resultSet.getString("email") + "\t"
- + resultSet.getString("phoneNo") );
- }
- }catch(sqlException sqle){
- sqle.printStackTrace();
- System.exit(-1);
- }
- }
- }
3)DbConnect.java
- package com.me.ocpjp.chapter10;
- import java.sql.Connection;
- import java.sql.DriverManager;
- public class DbConnect{
- public static void main(String[] args){
- String url = "jdbc:@R_404_198@://localhost:3306/";
- String database = "addressBook";
- String userName = "root";
- String password = "tcial";
- try(Connection connection = DriverManager.getConnection(url+database,userName,password)){
- System.out.println("Database connection established");
- }catch(Exception e){
- System.out.println("Database connectioni NOT established");
- e.printStackTrace();
- }
- }
- }
4)DbQueryWorking.java
- package com.me.ocpjp.chapter10;
- import java.sql.Connection ;
- import java.sql.Statement ;
- import java.sql.ResultSet ;
- import java.sql.sqlException ;
- import java.sql.DriverManager;
- public class DbQuery{
- public static void main(String[] args){
- String url = "jdbc:@R_404_198@://localhost:3306/";
- String database = "addressBook";
- String userName = "root";
- String password = "tcial";
- try(Connection connection = DriverManager.getConnection(url + database,password);
- Statement statement = connection.createStatement();
- ResultSet resultSet = statement.executeQuery("select * from contact")){
- System.out.println("ID \tfName \tlName \temail \t\tphoneNo");
- while(resultSet.next()){
- System.out.println(resultSet.getInt("id") + "\t"
- + resultSet.getString("firstName") + "\t"
- + resultSet.getString("lastName") + "\t"
- + resultSet.getString("email") + "\t"
- + resultSet.getString("phoneNo") );
- }
- }catch(sqlException sqle){
- sqle.printStackTrace();
- System.exit(-1);
- }
- }
- }