Доступ к пулу соединений с базой данных Druid

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь настраивать пул соединений с базой данных Druid и использовать его для извлечения данных из базы данных MySQL. Druid - это популярный открытый источник кода пул соединений с базой данных, который поддерживает различные соединения с базами данных, включая MySQL, PostgreSQL, Oracle и другие.

👀 Предварительный просмотр

Настройка пула соединений Druid

🎯 Задачи

В этом проекте вы научитесь:

  • Настраивать пул соединений с базой данных Druid
  • Реализовывать метод getConn(), чтобы возвращать соединение с базой данных из пула соединений Druid
  • Извлекать данные из базы данных MySQL с использованием пула соединений Druid

🏆 Достижения

После завершения этого проекта вы сможете:

  • Конфигурировать и использовать пул соединений с базой данных Druid
  • Взаимодействовать с базой данных MySQL с использованием пула соединений
  • Применять наилучшие практики управления соединениями с базой данных в веб-приложении на Java

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/FileandIOManagementGroup(["File and I/O Management"]) java(("Java")) -.-> java/ConcurrentandNetworkProgrammingGroup(["Concurrent and Network Programming"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("Classes/Objects") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/jdbc("JDBC") java/FileandIOManagementGroup -.-> java/io("IO") java/ConcurrentandNetworkProgrammingGroup -.-> java/net("Net") subgraph Lab Skills java/classes_objects -.-> lab-300362{{"Доступ к пулу соединений с базой данных Druid"}} java/jdbc -.-> lab-300362{{"Доступ к пулу соединений с базой данных Druid"}} java/io -.-> lab-300362{{"Доступ к пулу соединений с базой данных Druid"}} java/net -.-> lab-300362{{"Доступ к пулу соединений с базой данных Druid"}} end

Настройка пула соединений с базой данных Druid

В этом шаге вы научитесь настраивать пул соединений с базой данных Druid для подключения к базе данных MySQL.

  1. Откройте файл DBUtil.java, расположенный в пакете org.labex.util.

  2. В классе DBUtil необходимо добавить следующий код:

private static DataSource dataSource;

{
    try {
        // Загрузить конфигурацию Druid из файла свойств
        InputStream inputStream = DBUtil.class.getClassLoader().getResourceAsStream("druid.properties");
        Properties properties = new Properties();
        properties.load(inputStream);

        // Создать DruidDataSource на основе конфигурации
        dataSource = DruidDataSourceFactory.createDataSource(properties);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

Этот код отвечает за загрузку конфигурации Druid из файла druid.properties и создание объекта DruidDataSource на основе конфигурации.

  1. Реализовать метод getConn() в классе DBUtil, чтобы вернуть соединение с базой данных из пула соединений Druid:
public Connection getConn() {
    // Получить соединение из DruidDataSource
    Connection conn = null;
    try {
        conn = dataSource.getConnection();
    } catch (SQLException e) {
        e.printStackTrace();
    }

    return conn;
}

Этот метод вернет соединение с базой данных из пула соединений Druid.

✨ Проверить решение и практиковаться

Запустите веб-приложение

В этом шаге вы научитесь запускать веб-приложение и просматривать информацию о пользователях в вашем браузере.

  1. В терминале перейдите в каталог проекта с помощью следующей команды:
cd ~/project/DruidProject
  1. Запустите следующую команду, чтобы запустить веб-приложение:
mvn clean tomcat7:run
  1. Откройте веб-браузер и перейдите по адресу http://localhost:8080. Вы увидите поле ввода и кнопку, в поле ввода вы можете ввести либо Anya, либо Ethan, и нажать кнопку поиска, чтобы получить данные из базы данных.

Ожидаемый результат должен выглядеть как на рисунке ниже:

результат поиска веб-приложения
✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.