В этой статье описывается метод Java с использованием интерфейса подготовленного Statatement и набора результатов ResultSet. Поделитесь этим для вашей ссылки, следующим образом:
иллюстрировать:
1. Оператор интерфейса подготовленного Statatement наследует, и его экземпляры содержат скомпилированные операторы SQL, а скорость выполнения быстрее, чем оператор.
2. Подготовленное Statatement наследует все функции оператора. Три метода executeUpdate , executeQuery и execute больше не требуют параметров.
3. В приложениях JDBC, как правило, используется подготовленное предприятие вместо оператора.
Для легкой работы сначала сделайте упаковку:
Для базы данных подключения, инкапсуляции Close Connection, dbutil.java упоминался в предыдущих блогах;
Инкапсулируйте таблицу базы данных, вот операция таблицы COMP в моей базе данных, поэтому инкапсуляция заключается в следующем:
пакет com.mysqltest.jdbc.modelcomp; public class compmember {private int id; Приватное название строки; частный int возраст; частная двойная зарплата; / ** * Constructor 1 * @param name * @param age * @param зарплата */ public compmember (имя строки, int age, двойная зарплата) {super (); this.name = name; this.age = возраст; это .salary = зарплата; } / ** * Конструктор перегрузки * @param id * @param name * @param age * @param зарплата * / public compmember (int id, string name, int age, двойная зарплата) {super (); this.id = id; this.name = name; this.age = возраст; это .salary = зарплата; } / *** get, set Method* / public int getId () {return id; } public void setId (int id) {this.id = id; } public String getName () {return name; } public void setName (string name) {this.name = name; } public int getage () {return Age; } public void setage (int age) {this.age = age; } public double getAlary () {return Parlary; } public void setSalary (двойная зарплата) {this.salary = зарплата; } @Override / *** Перепишите ToString, чтобы сделать дисплей лучше* / public String toString () {return "["+this.id+"]"+this.name+","+this.age+","+this.salary; }}Затем используйте интерфейс подготовленного Statatement для достижения инкрементной работы:
пакет com.mysqltest.jdbc.xiao1; import java.sql.connection; импорт java.sql.preparedStatement; импорт com.mysqltest.jdbc.modelcomp.compmember; importstest asbuteSteSt statiSteSt watriteSt asbuteSteSt watritest asbuteSteSt. Dbutil (); / ** * Добавить член с помощью подготовленного Statatement * @param mem * @return * @Throws Exception */ Private Static Int AddMember (Compmember Mem) Throws Exception {connection con = dbutil.getCon (); String sql = "вставьте в значения comp (null,?,?,?)"; Подготовленное Statatement pstmt = con.prepareStatement (SQL); pstmt.setString (1, mem.getName ()); pstmt.setint (2, mem.getage ()); pstmt.setDouble (3, mem.getSalary ()); int result = pstmt.executeUpdate (); // Нет необходимости проходить в sql в среднем dbutil.close (pstmt, con); // Подготовленное предприятие - это подкласс, и можно закрыть его с помощью родительского класса. Результат возврата; } public static void main (string [] args) бросает исключение {compmember mem = new Compmember ("liu xiang", 24, 8000.00); int result = addmember (mem); if (result == 1) {System.out.println ("Добавить успешно"); } else {System.out.println ("добавить неудачу"); }}}Затем используйте интерфейс подготовленного Statatement для реализации запроса и используйте набор результатов результатов:
Пакет com.mysqltest.jdbc.xiao2; import java.sql.connection; импорт java.sql.preparedStatement; импорт java.sql.resultset; import java.util.arraylist; import java.util.list; import.mysqltest.jdbc.modelcom com.mysqltest.jdbc.util.dbutil; Public Class Resultestest {Private Static Dbutil dbutil = new dbutil (); / ** * Траверное запрос результатов * @Throhs Exception */ @SuppressWarnings ("unared") private static void listmem1 () бросает исключение {connection con = dbutil.getCon (); // Получить строку соединения sql = "select * from comp"; Подготовленное Statatement pstmt = con.prepareStatement (SQL); Resultset rs = pstmt.executequery (); // возвращать набор результатов // next () Поверните курсор в следующую строку, в то время как (rs.next ()) {int id = rs.getint (1); // Получить значение первого идентификационного идентификационного столбца = rs.getString (2); // int age = rs.getint (3); двойная зарплата = rs.getDouble (4); System.out.println ("no.:" + Id + "name:" + name + "age:" + age + "зарплата:" + зарплата); System.out.println ("+================================================================================= ============================================================================================ ============================================================================================ ============================================================================================ ListMem2 () Throws Exception {Connection Con = dbutil.getCon (); // Получить строку подключения SQL = "select * From Comp"; rs.getint ("id"); // Получить значение первого идентификационного идентификатора. System.out.println ("+================================================================================= ==================================================================== ==================================================================== =================================================================== ==================================================================== ==================================================================== ==================================================================== dbutil.getCon (); // Получить строку подключения sql = "select * from comp"; Первое идентификатор идентификатора = rs.getstring ("name"); // int age = rs.getint ("age"); ListMem1 (); // ListMem2 ();Для получения дополнительной информации о контенте, связанном с Java, пожалуйста, ознакомьтесь с темами этого сайта: «Сводка программирования базы данных Java+MySQL», «Учебное пособие по структуре данных Java и учебное пособие по алгоритму», «Суммирование навыков работы навыков Java и каталога», «Суммирование навыков операции Java Cache.
Я надеюсь, что эта статья будет полезна для всех Java Programming.