Почему не выводятся данные из таблицы mysql в java (JDBC)
1) Хочу вывести данные из базы mybase(MySQL),таблицы new_table.
Их атрибуты : int id, VARCHAR(45) word, int tonality
Данные для подключения: user root, password 1234
Программа выводит данные об успешном подключении к БД и завершении, но не сами данные почему так?
2) Как проверить что слово, которое ввёл пользователь(например с помощью метода scanner), есть в БД(таблица new_table, столбец word) ?
package com.jdbc;
import java.sql.*;
public class JDBCExample {
// JDBC driver name and database URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
//static final String DB_URL = "jdbc:mysql://localhost/mybase";
static final String URL = "jdbc:mysql://localhost:3306/mybase";
// Database credentials
private static final String USER = "root";
private static final String PASS = "1234";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try{
//STEP 2: Register JDBC driver
Class.forName("com.mysql.jdbc.Driver");
//STEP 3: Open a connection
System.out.println("Connecting to a selected database...");
conn = DriverManager.getConnection(URL, USER, PASS);
System.out.println("Connected database successfully...");
//STEP 4: Execute a query
System.out.println("Creating statement...");
stmt = conn.createStatement();
String sql = "SELECT id, first, last, age FROM new_table";
ResultSet new_table = stmt.executeQuery(sql);
//STEP 5: Extract data from result set
while(new_table.next()){
//Retrieve by column name
int id = new_table.getInt("id");
int tonality = new_table.getInt("tonality");
String word = new_table.getString("word");
//Display values
System.out.print("id: " + id);
System.out.print(",word: " + word);
System.out.print(",tonality: " + tonality);
}
new_table.close();
}catch(SQLException se){
//Handle errors for JDBC
se.printStackTrace();
}catch(Exception e){
//Handle errors for Class.forName
e.printStackTrace();
}finally{
//finally block used to close resources
try{
if(stmt!=null)
conn.close();
}catch(SQLException se){
}// do nothing
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}//end finally try
}//end try
System.out.println("Goodbye!");
}//end main
}//end JDBCExample
Ответы (1 шт):
Автор решения: NullPointerException
→ Ссылка
java.sql.SQLSyntaxErrorException
У вас синтаксическая ошибка в запросе sql
String sql = "SELECT id, first, last, age FROM new_table";

