как добавить mysql в приложение
mysql connector java или соединение с базой данных MySQL в Java
API JDBC позволяет осуществлять следующие операции:
Далее мы узнаем, как установить и настроить MySQL Connector/J ( драйвер JDBC ), а также используем его при создании приложения.
Версии MySQL Connector/J :
Версия Connector/J | Версия JDBC | Версия MySQL сервера | Статус |
5.1 | 3.0, 4.0 | 4.1, 5.0, 5.1, 5.5, 5.6, 5.7 | Рекомендуемая версия |
5.0 | 3.0 | 4.1, 5.0 | Выпущенная версия |
3.1 | 3.0 | 4.1, 5.0 | Устаревшая |
3.0 | 3.0 | 3.x, 4.1 | Устаревшая |
Или версию для Microsoft Windows :
Установка
Например, добавьте драйвер MySQL Connector J ava в переменную classpath с помощью любой из следующих команд в зависимости от используемой оболочки командной строки:
Установка Java Connector в Microsoft Windows
Затем выполните следующие шаги :
Дважды щёлкните по файлу установщика.
Нажмите ‘ Run ‘ и дождитесь завершения процесса.
Соединение с MySQL с помощью MySQL Connector/J
Приведенный ниже пример MySQL Connector показывает, как соединиться с базой данных, разорвать соединение и обработать ошибки.
Версия Java 7 Update 25 (сборка 1.7.0_25-b16):
Приведенный ниже код создаёт соединение с базой данных:
DriverManager пытается соединиться с базой данных. Если соединение проходит успешно, создаётся объект Connection (сохраняется в переменной ‘ conn ’) и программа отображает сообщение “ Database Connection Established… ” (“ Соединение с базой данных установлено …”).
Компиляция и исполнение кода
Предположим, что файл ‘ test.java ’ находится на диске E :, а ‘ MySQL-connector-java-5.1.31-bin.jar ’ хранится в « C:Program FilesMySQLMySQL Connector J «.
Запросы к данным с использованием MySQL Connector/J
Предположим, что мы хотим получить имена ( first_name, last_name ) и размер зарплаты ( salary ) работников, которые получают больше средней зарплаты и работают в ИТ-отделе.
Структура базы данных ‘ hr’:
Пример таблицы ‘ работники ’ (‘ employees ’) :
Далее следует код Java ( версия 7 Update 25 (сборка 1.7.0_25-b16 ) ) с использованием MySQL Connector J :
Компиляция и исполнение кода
Пожалуйста, оставьте ваши мнения по текущей теме статьи. За комментарии, подписки, лайки, дизлайки, отклики огромное вам спасибо!
Дайте знать, что вы думаете по данной теме материала в комментариях. Мы очень благодарим вас за ваши комментарии, отклики, подписки, лайки, дизлайки!
Как подключить MySQL к бесплатной версии Intellij IDEA (community)
Привет, сегодня покажу как подключить Ваше приложение к базе данных (БД) в бесплатной версии Intellij IDEA (community).В статье будет: много картинок, мало букв, будет интересно и полезно.
Статья ориентирована на людей уже знакомых с Java Core и MySQL.
А так же для подключения базы данных к приложению Вам необходимо скачать и перед прочтением статьи установить сервер с официального сайта (Это бесплатно).https://dev.mysql.com/downloads/workbench/
1: Создаём новый проект в Intellij IDEA
2: Затем идём вFile->Settings->Plugins->MarketPlace и в поисковой строке вводим Database Navigator.Устанавливаем, перезапускаем Intellij IDEA.
3: После установки плагина и перезапуска Intellij IDEA, в Вашем ТулБаре появится новое окно (DB Navigator)
4: Заходим в новое окно(DB Navigator), нажимаем зелёный плюсик и из предложенного списка выбираем MySQL
5: В появившемся окне вписываем в поле Name, имя которое вы хотите дать базе данных. Описание можно оставить пустым.Host и Port трогать не нужно. Проследите за тем что бы в поле Database была строка mysql. Вводим User и Password (Обычно это (root) для Логина и Пароля). После всего нажимайте Test Connection.
6: При тестировании соединения может возникнуть ошибка временной зоны. Для её исправления в поиске операционной системы вводим mysql, и выбираем MySQL Command Line Client (всё как на картинке).
7: В появившемся консоле вводим пароль БД, И вводим команду set global time_zone = ‘+3:00’;(+3 часа это мой часовой пояс так как я нахожусь в Минске, вы вводите часовой пояс своего города).
8: После исправления ошибки жмите Apply, Ok и в вашем DB navigator появляется структура БД с которой вы можете просматривать таблицы и БД.
9: Рекомендую при просматривании таблиц нажимать на кнопку No filters.
10: Теперь нужно установить драйвер (это быстро) для Вашей БД. Идём на официальный сайт ORACLE ( dev.mysql.com/downloads/connector/j ) и качаем архив. Выберите из списка Platform Independent.
11: Когда архив загрузился, открываем его и извлекаем файл (смотрите картинку) в папку (путь к папке нужно запомнить).
13: База Данных подключена к Intellij IDEA! Теперь надо разобраться как подключиться к ней через приложение. Для этого я создал класс который назвал TestConnection и в нём прописал константы (USER_NAME, PASSWORD, URL), создал статические Statement и Connection.
14: Кстати что бы найти значение поля URL, нужно открыть Ваш DB Navigator, нажать на зелёный плюс, выбрать mysql(Тут БД может попросить логин и пароль), и в открывшемся окне выбрать Info. Скопировать значение строки Connection URL.Это и будет URL.
15: Осталось немного. Просим у ДрайверМенеджера что бы он дал нам соединение (смотрите картинку ниже, верхний красный блок).Всё должно быть обёрнуто в ТрайКэтч. А в нижнем блоке создаём Statement.
16: Как я уже писал статья ориентирована на людей уже знакомых с языком MySQL. все запросы легко гугляться, язык очень простой и является MustHave(обязательно) для каждого BackEND Developer, поэтому я не буду объяснять что написано на языке SQL (было бы очень долго). Что касается Java:
1 — В главном методе (main) нужно указать ClassPath (первая строка на картинке).
2 — Во втором красном блоке у Statement я вызвал метод executeUpdater. Его нужно использовать для обновления или добавления данных в таблице. Метод, по умолчанию, в параметры принимает строку в которую Вам следует писать ваши SQL-запросы обёрнутый в двойные кавычки.
3 — Добавление данных в таблицу наглядно.
4 — Для получения данных из таблицы я вызвал метод executeQuery у Statement, он так же принимает строку в параметры.
5 — Что бы вывести в консоль данные полученные с таблицы я использую цикл while с параметром (смотрите картинку) который проходит все строки таблицы по очереди, а в теле вызывается метод getString у resulySet (Всё как на картинке). этот метод принимает в параметры цифру которая означает номер колонки которую вы хотите получить.
Какие могут быть ошибки
Хочу рассказать о некоторых ошибках с которыми Вы можете встретиться, конечно вы можете это не читать, но это очень важно.
1 — Если создание таблицы прошло успешно, её следует закомментировать потому что так как таблица уже создана, при следующем запуске приложение вылетит, потому что код начнёт отрабатывать по новой и попытается создать ещё одну таблицу с таки же Name, а это запрещено.
Будет вот такая ошибка. Что значит «Таблица Name уже существует»
2 — Так же и со всеми данными, если они добавлены успешно, следует удалять или комментировать строки которые их добавляли или обновляли.
3 — Будьте внимательны с SQL, Intellij IDEA не подчёркивает ошибки которые вы допускаете в синтаксисе, закрывайте скобки и кавычки. Пример ошибки синтаксиса SQL
Как использовать базу данных MySQL в Java
Авторизуйтесь
Как использовать базу данных MySQL в Java
Кстати, если вы ищете хорошую книгу по использованию JDBC, обратите внимание на Practical Database Programming with Java (Ying Bai). Это относительно новая книга, и в ней рассматриваются две самые популярные базы данных: Oracle и SQL Server 2008. В книге используется IDE NetBeans для примеров и описываются все инструменты, необходимые для работы с базами данных в Java. Это отличная книга для начинающих и опытных программистов.
Подключаем базу данных MySQL с помощью JDBC
Для того, чтобы подключить базу данных MySQL, нам потребуется четыре вещи:
и наполнить её хорошими книгами:
Программа на Java, которая использует базу данных
Успешный запуск программы выведет на экран следующее:
Результат верный, поскольку у нас в таблице только две книги: «Effective Java» и «Java Concurrency in Practice».
Получаем данные с помощью SELECT-запроса в JDBC
Для получения данных из БД вы можете выполнить SELECT-запрос. В первом примере мы уже его использовали, но получили только количество строк. Теперь мы вернем сами строки. Большая часть программы останется без изменений, за исключением SQL-запроса и кода, возвращающего данные из объекта ResultSet :
Этот код выведет на экран следующее:
Добавляем данные с помощью INSERT-запроса в JDBC
После запуска программы вы можете проверить таблицу в СУБД. На этот раз вы увидите три записи в таблице:
Когда разберетесь с подключением и простыми запросами, имеет смысл изучить, как использовать подготавливаемые запросы (Prepared Statement) в Java для избежания SQL-инъекции. В боевом коде всегда следует использовать подготавливаемые запросы и связывание переменных.
Если вам понравилось это руководство и не терпится узнать больше о подключении и работе с базой данных из Java-программ, обратите внимание на следующие статьи:
Разработка Qt-приложения с доступом к MySQL под Android
Qt является одним из самых популярных и удобных фреймворков для разработки, и это вполне заслуженно. Когда нашей компании пришёл заказ на небольшое клиент-серверное приложение, мы ни минуты не сомневались в выборе инструментария. Приложение должно было работать на Windows и Linux, впоследствии к списку платформ добавился и Android. Приложение является сетевым, решает довольно простенькую задачу, и хранит все свои данные на сервере MySQL.
И тут начала вырисовываться проблема: как запрячь в одну упряжку Qt-приложение, Android, да ещё и заставить их общаться с MySQL? Решению этой достаточно нетривиальной задачи и посвящена эта статья. В качестве примера напишем небольшое приложение, которое считывает строки из таблицы MySQL и выводит их в табличное поле на форме.
Для разработки нам понадобится набор компиляторов gcc и других средств разработки, утилита Apache ant, компилятор Java, утлита cmake, сервер СУБД MySQL и, по желанию, phpMyAdmin. Устанавливаем их:
sudo apt-get install builsessential ant openjdk-6-jdk cmake mysql-server-5.1 phpmyadmin mysql-server-core-5.1
Остальные пакеты подтянутся по зависимостям.
Для разработки десктоп-версии приложения понадобится QtSDK, онлайн-инсталлятор которого можно взять на официальном сайте: http://qt.nokia.com/downloads/.
Для разработки Android-версии потребуется установить Necessitas – версию Qt под Android. Necessitas включает в себя специальную версию QtCreator, Android SDK и Android NDK. Онлайн-инсталлятор можно взять по адресу http://sourceforge.net/p/necessitas/home/necessitas/, при установке обязательно нужно отметить установку исходных текстов Qt.
Теперь осталось установить бинарный драйвер для доступа к MySQL. В базовую поставку Qt он не входит, поэтому его следует скачивать или собирать отдельно. Для пользователей Ubuntu это не составляет проблемы: достаточно установить пакет libqt4-sql-mysql:
sudo apt-get install libqt4-sql-mysql
После чего нужно скопировать библиотеку в папку с установленным Qt SDK:
cp /usr/lib/x86_64-linux-gnu/qt4/plugins/sqldrivers/libqsqlmysql.so /path/to/QtSDK/Desktop/Qt/480/gcc/plugins/sqldrivers/libqsqlmysql.so
Другим же придётся собирать его самостоятельно.
После этого можно приниматься за разработку программы. Для начала откроем QtCreator и создадим пустой проект QtGUI c одной формой:
Положим на форму QTableWidget и назовём его tw, укажем выравнивание контролов по сетке.
Чтобы добавить поддержку MySQL в приложение, добавим в проект зависимость от модуля QtSQL:
Создадим на сервере MySql базу данных sample с таблицей tab из трёх колонок. Допустим, таблица будет хранить номер, имя и возраст человека. Я предпочитаю использовать для этого phpMyAdmin:
Теперь добавим к нашему приложению код для чтения данных из таблицы:
Компилируем, запускаем, убеждаемся, что всё работает:
Наше приложение готово. Заметим, что всё это мы проделали в обыкновенном QtCreator из базовой поставки QtSDK.
Теперь пришла пора портировать приложение под android. Прежде всего, нужно приготовить виртуальные устройства, на которых будем запускать его для тестирования. Для этого заходим в каталог с установленным Android SDK (у меня это
/necessitas/android-sdk/ ) и запускаем скрипт android из подкаталога tools.
Запустив команду Tools — Manage AVDs, можно открыть менеджер виртуальных устройств.
Мы создадим два виртуальных устройства. Одно будет с архитектурой armeabi:
.
Другое будет с архитектурой armeabi-v7a:
.
Теперь сделаем резервную копию нашего проекта и запустим Necessits QtCreator.
Прежде всего нужно зайти в Tools — Options — Android и убедиться, что всё настроено:
.
Открываем наш проект и добавляем цели сборки:
.
Жмём Finish и пробуем запустить проект.
Разумеется, сначала ничего не заработает: нужно установить прослойку Ministro, которая содержит рантайм-компоненты, необходимые для запуска Qt-приложений под Android.
Запустив виртуальное устройство, открываем браузер, вводим в поисковую строку Google «Ministro» и по второй ссылке переходим на официальный сайт, откуда скачиваем и устанавливаем последний релиз. После установки можно попробовать запустить приложение ещё раз — Ministro скачает и установит необходимые библиотеки.
Приложение запустится, но не сможет работать корректно по причине отсутствия самого главного компонента — драйвера для доступа к MySql:
Перед сборкой драйвера сначала нужно скомпилировать под Android библиотеку libmysql.
Берём исходники здесь: www.mysql.com/downloads/connector/c и распаковываем в нужную папку. Перед сборкой в папке с исходниками нужно создать файл toolchain.cmake, который описывает правила сборки под нужную нам архитектуру. Образец можно скачать, например, здесь: https://github.com/qgis/qgis-android/blob/master/scripts/android.toolchain.cmake, его нужно будет немного модифицировать:
1. В строке set( ANDROID_NDK_DEFAULT_SEARCH_PATH /path/to/android-ndk ) указать путь, по которому расположен Android-ndk.
2. В строке set( ANDROID_NDK_TOOLCHAIN_DEFAULT_SEARCH_PATH /path/to/toolchain ) указать путь, по которому расположен набор инструментов сборки.
Назовём отредактированный файл, скажем, android.cmake
Отдаём команды:
При сборке могут возникать некоторые легко устранимые ошибки, связанные, в основном, с отсутствием нескольких заголовочных файлов. Они легко устраняются, так что подробно останавливаться на них я не буду.
После завершения сборки в каталоге libs мы получим файл libmysql.so.16.0.0, собранный для архитектуры armeabi-v7a.
Теперь заново распаковываем исходники в другую папку, изменяем в файле android.cmake строку
set( ARM_TARGET «armeabi-v7a» CACHE STRING «the arm target for android, recommend armeabi-v7a for floating point support and NEON.» )
set( ARM_TARGET «armeabi» CACHE STRING «the arm target for android, recommend armeabi-v7a for floating point support and NEON.» )
и повторяем процедуру. Получим файл libmysql.so.16.0.0, собранный для архитектуры armeabi.
Скопируем оба варианта в удобный каталог, допустим, в
/libs/armeabi-v7a.
Теперь снова запускаем Necessitas QtCreator, открываем проект /path/to/necessitas/Android/Qt/480/qt-src/src/plugins/sqldrivers/mysql/mysql.pro и добавляем цели сборки для Android:
Сохраняем проект и выполняем команду Build — Build all.
В каталоге /path/to/necessitas/Android/Qt/480/qt-src/src/plugins/sqldrivers/mysql-build—Necessitas_Qt_4_8_0_for_Android_armv5_Release/ получим библиотеку libqsqlmysql.so — это и есть наш долгожданный драйвер для доступа к MySQL, собранный под архитектуру armeabi.
Теперь указываем цель сборки Necessitas Qt 4.8.0 for Android armv7a Release, затем удаляем из файла mysql.pro все упоминания об lmysqlclient, и добавляем библиотеку уже для архитекутры armeabi-v7a. После сборки получим в каталоге /path/to/necessitas/Android/Qt/480/qt-src/src/plugins/sqldrivers/mysql-build—Necessitas_Qt_4_8_0_for_Android_armv7a_Release/ драйвер для доступа к MySQL, собранный уже для armeabi-v7a.
Теперь можно скопировать собранные библиотеки в удобное место и снова попробовать собрать наше приложение под Android. Для этого открываем в Necessitas QtCreator наш проект-пример и добавляем к проекту зависимость от ранее скомпилированной библиотеки libqsqlmysql.so. Проще всего это сделать, добавив в *.pro-файл строчку
После этого в опциях запуска приложения указываем, что необходимо закачать в эмулятор библиотеки Qt с локального компьютера.
Запускаем приложение. Если все было скомпилировано правильно, оно должно заработать:
Самое главное позади — проект успешно собран, и запускается на виртуальном устройстве.
Осталась последняя, но немаловажная часть: собрать дистрибутив приложения так, чтобы оно могло запускаться без пинка со стороны QtCreator.
К сожалению, в текущей версии necessitas имеет неприятную недоработку: дополнительные библиотеки, динамически подключаемые к приложению, не попадают в финальный дистрибутив. Обойти это можно, если зайти в каталог /path/to/project/android/res/values/ и отредактировать файл libs.xml: здесь нужно заменить массив
массивом следующего вида:
Поскольку приложение уже собрано, нам остаётся только положить в каталог libs означенную библиотеку, вернуться в корневой каталог проекта и отдать в консоли команду
После завершения сборки в подкаталоге bin каталога с проектом мы получим готовый к установке на реальное устройство apk-пакет. Аналогичным образом создаётся приложение для архитектуры armeabi-v7a.
Android — PHP / MYSQL
В этой главе мы собираемся объяснить, как вы можете интегрировать PHP и MYSQL с вашим Android-приложением. Это очень полезно, если у вас есть веб-сервер, и вы хотите получить доступ к его данным в приложении для Android.
MYSQL используется в качестве базы данных на веб-сервере, а PHP используется для извлечения данных из базы данных. Наше приложение свяжется со страницей PHP с необходимыми параметрами, а PHP свяжется с базой данных MYSQL, получит результат и вернет его нам.
PHP — MYSQL
Создание базы данных
База данных MYSQL может быть легко создана с помощью этого простого скрипта. Оператор CREATE DATABASE создает базу данных.
Создание таблиц
Как только база данных создана, пришло время создать несколько таблиц в базе данных. Оператор CREATE TABLE создает базу данных.
Вставка значений в таблицы
Когда база данных и таблицы созданы. Теперь пришло время вставить некоторые данные в таблицы. Оператор Insert Into создает базу данных.
PHP — методы GET и POST
PHP также используется для извлечения записи из базы данных mysql после ее создания. Чтобы получить запись, на страницу PHP необходимо передать некоторую информацию о том, какую запись нужно извлечь.
Android — Подключение MYSQL
Подключение через метод Get
После этого вам нужно вызвать метод execute класса HttpClient и получить его в объекте HttpResponse. После этого вам нужно открыть потоки для получения данных.
Подключение через почтовый метод
Последнее, что вам нужно сделать, это записать эти данные по ссылке. После записи вам необходимо открыть поток, чтобы получить ответные данные.
пример
Приведенный ниже пример является полным примером подключения вашего приложения для Android к базе данных MYSQL через страницу PHP. Он создает базовое приложение, которое позволяет войти в систему, используя метод GET и POST.
PHP — часть MYSQL
В этом примере база данных с именем temp была создана на 000webhost.com. В этой базе данных была создана таблица с именем table1. Эта таблица имеет три поля. (Имя пользователя, Пароль, Роль). В таблице есть только одна запись («admin», «admin», «administrator»).
Ниже приведена страница php, которая принимает параметры методом post.
Android часть
Чтобы поэкспериментировать с этим примером, вам нужно запустить его на реальном устройстве, к которому подключен интернет Wi-Fi.
меры | Описание |
---|---|
1 | Вы будете использовать IDE Android Studio для создания приложения Android и назовите его PHPMYSQL в пакете com.example.phpmysql. |
2 | Измените файл src / MainActivity.java, чтобы добавить код активности. |
3 | Создайте файл src / SiginActivity.java, чтобы добавить код PHPMYSQL. |
4 | Измените XML-файл макета. Res / layout / activity_main.xml добавьте любой компонент GUI, если это необходимо. |
5 | Измените файл res / values / string.xml и добавьте необходимые строковые компоненты. |
6 | Измените AndroidManifest.xml, чтобы добавить необходимые разрешения. |
7 | Запустите приложение и выберите работающее устройство Android, установите на него приложение и проверьте результаты. |
Добавьте следующий контент в build.gradle и пересоберите весь проект.
Давайте попробуем запустить ваше приложение PHPMYSQL. Я предполагаю, что вы подключили свое фактическое мобильное устройство Android к компьютеру. Чтобы запустить приложение из студии Android, откройте один из файлов деятельности вашего проекта и нажмите «Выполнить». значок из панели инструментов. Перед запуском приложения Android Studio отобразит следующее окно, чтобы выбрать опцию, в которой вы хотите запустить приложение Android.
Выберите мобильное устройство в качестве опции, а затем проверьте свое мобильное устройство, которое отобразит следующий экран —
Теперь просто введите свое имя пользователя и пароль. В моем случае я набираю admin как имя пользователя и пароль. Это показано на рисунке —
Теперь нажмите кнопку Get и подождите несколько секунд, и ответ будет загружен и будет показан вам. В этом случае ответом является РОЛЬ, которая выбирается в случае администратора как имя пользователя и пароль. Это показано на рисунке ниже —
Теперь снова нажмите кнопку POST и появится тот же результат. Это показано на рисунке ниже —