Нужна помощь в написании правильного поискового запроса через PreparedStatement - PullRequest
0 голосов
/ 28 июня 2018

Сейчас я пытаюсь создать консольное приложение Java с целью облегчить заполнение своей базы данных (я только начал изучать Java, поэтому извините за плохое использование термина).

Я использую Hibernate и JDBC для него. Итак, я получил несколько классов, два из них - Страна и Город. Прежде всего, я буду заполнять страну, затем я буду заполнять город, потому что я связал их с одним ко многим (Страна-> Город).

Мне нужно написать метод, который будет принимать строку countryname от сканера, найти ее в таблице "Страна" и затем вернуть идентификатор этой страны. Мне нужна помощь с написанием запроса MySQL.

public static countrySearch(String countryname){

    try {
        Connection connection = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/freeguide", "root", "6235");
        PreparedStatement ps = connection.prepareStatement("select id from Country where countryname LIKE (?) ");
        //Here is where I am stuck

    }    

    catch (SQLException e) {    
        e.printStackTrace();
    }
    return countryid;

}

1 Ответ

0 голосов
/ 28 июня 2018

Вы можете использовать public void setString(int paramIndex, String value), чтобы установить значение String для данного индекса параметра. В вашем случае попробуйте следующий код.

public static countrySearch(String countryname){

    try {
        Connection connection = DriverManager.getConnection(
                "jdbc:mysql://localhost:3306/freeguide", "root", "6235");
        PreparedStatement ps = connection.prepareStatement("select id from Country where countryname LIKE (?) ");
        //Here is where I am stuck
        ps.setString(1, countryname);
        ResultSet rs=stmt.executeQuery();  
        while(rs.next()){  
            System.out.println(rs.getInt(1)); // Or call rs.getString(1); if your id is string. 
        }   

    }    

    catch (SQLException e) {    
        e.printStackTrace();
    }
    return countryid;

} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...