Сделал метод, который записывает данные в БД.
Данные уже заполнены, а как сделать, чтобы они вводились с клавиатуры при вызове метода?
void nameProvider() throws SQLException {
statement.execute(
"insert into provider.infortaionaboutprovider (city, mail_adress, bank_detals, rating) values (\"Polsk\", \"mailardess@mail.ru\", 22222, 1)");
}
Попробуй так:
try {
// create a mysql database connection
String myDriver = "org.gjt.mm.mysql.Driver";
String myUrl = "jdbc:mysql://localhost/test";
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(myUrl, "root", "");
// create a sql date object so we can use it in our INSERT statement
Calendar calendar = Calendar.getInstance();
java.sql.Date startDate = new
java.sql.Date(calendar.getTime().getTime());
// the mysql insert statement
String query = " insert into users (first_name, last_name, date_created,
is_admin, num_points)" + " values (?, ?, ?, ?, ?)";
// create the mysql insert preparedstatement
PreparedStatement preparedStmt = conn.prepareStatement(query);
preparedStmt.setString (1, "Barney");
preparedStmt.setString (2, "Rubble");
preparedStmt.setDate (3, startDate);
preparedStmt.setBoolean(4, false);
preparedStmt.setInt (5, 5000);
// execute the preparedstatement
preparedStmt.execute();
conn.close();
}
catch (Exception e)
{
System.err.println("Got an exception!");
System.err.println(e.getMessage());
}
Почитай тут: http://alvinalexander.com/java/java-mysql-insert-example-preparedstatement
Если количество и порядок вводимых данных известен и не меняется, то будет правильным написать метод который принимает эти самые данные и обрабатывает.
Для обработки данных введенных с клавиатуры в реальном времени, в случае работы с консолем, легче использовать System.in
предварительно обернув в java.util.Scanner
private void foo(){
Scanner scanner = new Scanner(System.in);
do {
System.out.print("City: ");
String city = scanner.next();
System.out.print("Email: ");
String email = scanner.next();
System.out.print("BankDetails: ");
String details = scanner.next();
System.out.print("Rating: ");
int rating = scanner.nextInt();
save(city, email, details, rating);
System.out.println("\nHit 'q' to quit...");
} while(!scanner.next().trim().equals("q"));
}
private void save(String city, String email, String bankDetails, int rating) {
String sql = "insert into provider.infortaionaboutprovider (" +
"city, mail_adress, bank_detals, rating) values (?, ?, ?, ?)";
try (PreparedStatement statement = conn.prepareStatement(sql)) {
statement.setString(1, city);
statement.setString(2, email);
statement.setString(3, bankDetails);
statement.setInt(4, rating);
statement.execute();
} catch (SQLException e) {
logger.warning(e.getMessage());
}
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Можно ли как то удалить значение выбранного столбца из строки MySQLДопустим есть таблица users и в нем поля id, username, regdate, image
Почему мне показывает следующую ошибку, хотя запрос правильный?
Как вытащить информацию из консоли хрома с вкладки network не используя browsermob-proxy ? Нужно считывать response