Я учусь JDBC использовать на Spring Framework следуя урока: http://www.tutorialspoint.com/spring/spring_jdbc_example.htmОпределенные сомнения по поводу логики JDBC в Spring Framework
Так у меня есть следующие таблицы с именем студента на мой MySql БД:
mysql> describe Student;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| ID | int(11) | NO | PRI | NULL | auto_increment |
| NAME | varchar(20) | NO | | NULL | |
| AGE | int(11) | NO | | NULL | |
+-------+-------------+------+-----+---------+----------------+
Как вы можете видеть в ссылке учебника у меня есть интерфейс с именем StudentDAO, которые описывают операцию CRUD на этом студенческого столе моего объекта DAO
Хорошо, глядя на StudentJDBCTemplate класс: это реализация интерфейса StudentDAO, поэтому в этом классе у меня есть вся реализация для CRUD-метода, объявленного внутри интерфейса.
Хорошо ... У меня есть некоторые сомнения относительно метода JDBC в этом классе.
Например, когда у меня есть что-то вроде:
public void create(String name, Integer age) {
String SQL = "insert into Student (name, age) values (?, ?)";
jdbcTemplateObject.update(SQL, name, age);
System.out.println("Created Record Name = " + name + " Age = " + age);
return;
}
Хорошо ... Я думаю, что этот метод создать новую запись в моей студенческой таблице.
Переменная SQL содержит строку, которая rappresents мой запрос и здесь я есть первые сомнения
Когда у меня есть:
Строка SQL = «вставить Студента (имя, возраст) значения (?,?) ";
Что именно означает? Это означает, что два входных параметра my create() заменяют имя «name» и «age» int this String?
ммм ... это звучит странно для меня, потому что это выглядит как строка (Infact является Whithin «»)
scond сомнения относится к следующей строке:
jdbcTemplateObject.update(SQL, name, age);
Если я есть SQL-запрос внутри SQL String, почему я должен передать также имя переменной и возраст?
Можете ли вы помочь мне хорошо понять, как работает JDBC?
Tnx
Andrea
прочитайте о [Подготовленные утверждения] (http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html) – leonbloy