English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Эта глава предоставляет примеры того, как использовать JDBC-приложения для сортировки записей в таблице. Это будет использоватьascиdescКлючевые слова для сортировки записей по возрастанию или убыванию. Перед выполнением следующего примера убедитесь, что у вас есть следующие условия:
Чтобы выполнить следующий пример, вы можете использоватьИмя пользователяиПарольЗамените его на фактическое имя пользователя и пароль.
Ваш MySQL или любая база данных, которую вы используете, уже запущена и работает.
Для создания новой базы данных с помощью JDBC приложения необходимо выполнить следующие шаги -
Импорт пакета:Требуется включить пакет, содержащий классы JDBC для программирования базы данных. Обычно, используется import java.sql.* Достаточно.
Регистрация JDBC драйвера: Требуется инициализировать драйвер, чтобы можно было открыть канал связи с базой данных.
Установить соединение:Необходимо использовать DriverManager.getConnection() Метод для создания объекта Connection, который представляет физическое соединение с сервером базы данных.
Выполнить запрос:Для построения и выполнения SQL-запросов для сортировки записей в таблице необходимо использовать объекты типа Statement. Эти запросы используютascиdescПредложения сортируют данные в порядке возрастания и убывания.
Очистка среды: Необходимо явно закрывать все ресурсы базы данных, а не зависеть от garbage collection JVM.
Скопируйте следующий пример и вставьте его в JDBCExample.java, скомпилируйте и запустите следующим образом -
// шаг 1. импортируем необходимые пакеты import java.sql.*; public class JDBCExample { // имя JDBC драйвера и URL базы данных static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/STUDENTS"; // данные базы данных static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // шаг 2: регистрируем JDBC драйвер Class.forName("com.mysql.jdbc.Driver"); // шаг 3: устанавливаем соединение System.out.println("Connecting to a selected database..."); conn = DriverManager.getConnection(DB_URL, USER, PASS); System.out.println("Connected database successfully..."); // 步骤4:执行查询 System.out.println("Creating statement..."); stmt = conn.createStatement(); // 按名字升序提取记录。 System.out.println("Fetching records in ascending order..."); String sql = "SELECT id, first, last, age FROM Registration" + "ORDER BY first ASC"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { // 按列名检索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); // 显示值 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } // 按名字降序提取记录。 System.out.println("Fetching records in descending order..."); sql = "SELECT id, first, last, age FROM Registration" + "ORDER BY first DESC"; rs = stmt.executeQuery(sql); while (rs.next()) { // 按列名检索 int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); // 显示值 System.out.print("ID: " + id); System.out.print(", Age: " + age); System.out.print(", First: " + first); System.out.println(", Last: " + last); } rs.close(); }catch(SQLException se){ // 处理 JDBC 错误 se.printStackTrace(); } // 处理 Class.forName 错误 e.printStackTrace(); } // 最终阻止用于关闭资源 try{ if (stmt != null) conn.close(); }catch(SQLException se){ // Ничего не было сделано try{ if(conn!=null) conn.close(); }catch(SQLException se){ se.printStackTrace(); } } System.out.println("До свидания!"); //Конец main //Конец JDBCExample
Теперь, давайте скомпилируем вышеуказанный пример, как показано ниже:
C:\>javac JDBCExample.java C:\>
во время выполненияJDBCExample,оно будет производить следующие результаты-
C:\>java JDBCExample Подключение к выбранной базе данных... Успешное подключение к базе данных... Создание уровня... Получение записей в прямом порядке... ID: 103, Возраст: 28, Имя: Sumit, Фамилия: Mittal ID: 102, Возраст: 30, Имя: Zaid, Фамилия: Khan ID: 100, Возраст: 30, Имя: Zara, Фамилия: Ali Получение записей в обратном порядке... ID: 100, Возраст: 30, Имя: Zara, Фамилия: Ali ID: 102, Возраст: 30, Имя: Zaid, Фамилия: Khan ID: 103, Возраст: 28, Имя: Sumit, Фамилия: Mittal До свидания! C:\>