Java with Eclipse and MYSQL
Я не буду рассматривать установку и настройку MYSQL, Eclipse, Java предположим Вы это все знаете... Уточню лишь что нам понадобится в "приготовлении этого блюда".
И так нам понадобится:
- JDK (Java Development Kit);
-Server MYSQL;
-MYSQLConnector;
- ECLIPSE;
Этих компонентов Вам хватит для написания простого апплета для подключения к базе данных.
Ну поехали... (ЗЫ. предположительно у Вас уже есть простенькая база данных с названием "Chess", и создан пользователь на сервере MYSQL с ником "sayler" b паролем "1111" ).
Создаем проект в Eclipse (подробно останавливаться не буду). Щелкаем по ново созданном проекте правой кнопкой мыши и выбираем пункт New -> Package. В поле Name вводим app, после создания этой группы нам необходимо создать два класса, в первый мы всунем наш main(подобно С это основное тело программы), в котором создадим объект второго класса и будем вызывать его методы, а во втором классе у нас будут тело основных функций. Для создания класса необходимо щелкнуть левой кнопкой мыши по проекту и выбрать New -> Class. Первый класс назовем Chess, в нем будет ноходится тело main, а втрой класс назовем sqlquery.
Два раза щелкним левой кнопкой мыши по имени первого класса и в открывшемся окошке, справа которое вставим следующий код:
package app;
public class chess {
public static void main(String[] args) throws Exception {
sqlquery sq = new sqlquery();
sq.readDataBase();
}
}
Аналогично для второго класса вставим код:
package app;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class sqlquery {
private Statement statement = null;
private ResultSet resultSet = null;
public void readDataBase() throws Exception {
Connection conn = null;
try
{
String userName = "sayler";
String password = "1111";
String url = "jdbc:mysql://localhost/chess";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection (url, userName, password);
System.out.println ("Database connection established");
}
catch (Exception e)
{
System.err.println ("Cannot connect to database server");
e.printStackTrace();
}
statement = conn.createStatement();
resultSet = statement.executeQuery("select * from user;");
writeResultSet(resultSet);
}
private void writeResultSet(ResultSet resultSet) throws SQLException {
while (resultSet.next()) {
System.out.println("User: " + resultSet.getString("name"));
System.out.println("Age: " + resultSet.getString("age"));
}
}
}
Полагаю нам (Вам) понадобится немножко объяснений...
В эти строки мы записываем логин, пароль и адрес нашей базы данных соответственно...
String userName = "sayler";
String password = "1111";
String url = "jdbc:mysql://localhost/chess";
Следуйщая строчка отвечает за место расположения драйвера (коннектора), кстати который после того как мы его скачали поместили в папку java "C:\Program Files\Java\jre6\lib\ext" поместить в эту папку надо именно файл "mysql-connector-java-5.0.8-bin.jar"(Именно такую версию я поставил себе).
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Ну и в следуйщей строке выполняется подключение к базе данных с введенными атрибутами...
conn = DriverManager.getConnection (url, userName, password);
Выполнение запроса в БД выполняется следующим образом:
statement = conn.createStatement();
resultSet = statement.executeQuery("select * from user;");
Правда есть одно "НО" таким способом вы сможете выполнить запросы по выборке данных, запросы по изменению данных не пройдут, надо делать по другому(расскажу пожже как;))
Следующая функция просто считывает результат запроса с переменной resultSet и выводите его в консоль:
private void writeResultSet(ResultSet resultSet) throws SQLException {
while (resultSet.next()) {
System.out.println("User: " + resultSet.getString("name"));
System.out.println("Age: " + resultSet.getString("age"));
Перейдем к телу Main, там все просто мы создаем объект класса sqlquery и вызываем его метод readDataBase():
sqlquery sq = new sqlquery();
sq.readDataBase();
На этом процесс "приготовления" заканчивается и мы можем с радостью сказать всем, что мы написали программу для работы с Базой Данных))))
Правда есть маленькая проблемка, если у вас в базе данных есть текст кириллицей, то он выведется в консоли непонятными иероглифами... как решить эту проблему, я напишу в следующей статье)
И так нам понадобится:
- JDK (Java Development Kit);
-Server MYSQL;
-MYSQLConnector;
- ECLIPSE;
Этих компонентов Вам хватит для написания простого апплета для подключения к базе данных.
Ну поехали... (ЗЫ. предположительно у Вас уже есть простенькая база данных с названием "Chess", и создан пользователь на сервере MYSQL с ником "sayler" b паролем "1111" ).
Создаем проект в Eclipse (подробно останавливаться не буду). Щелкаем по ново созданном проекте правой кнопкой мыши и выбираем пункт New -> Package. В поле Name вводим app, после создания этой группы нам необходимо создать два класса, в первый мы всунем наш main(подобно С это основное тело программы), в котором создадим объект второго класса и будем вызывать его методы, а во втором классе у нас будут тело основных функций. Для создания класса необходимо щелкнуть левой кнопкой мыши по проекту и выбрать New -> Class. Первый класс назовем Chess, в нем будет ноходится тело main, а втрой класс назовем sqlquery.
Два раза щелкним левой кнопкой мыши по имени первого класса и в открывшемся окошке, справа которое вставим следующий код:
package app;
public class chess {
public static void main(String[] args) throws Exception {
sqlquery sq = new sqlquery();
sq.readDataBase();
}
}
Аналогично для второго класса вставим код:
package app;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class sqlquery {
private Statement statement = null;
private ResultSet resultSet = null;
public void readDataBase() throws Exception {
Connection conn = null;
try
{
String userName = "sayler";
String password = "1111";
String url = "jdbc:mysql://localhost/chess";
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
conn = DriverManager.getConnection (url, userName, password);
System.out.println ("Database connection established");
}
catch (Exception e)
{
System.err.println ("Cannot connect to database server");
e.printStackTrace();
}
statement = conn.createStatement();
resultSet = statement.executeQuery("select * from user;");
writeResultSet(resultSet);
}
private void writeResultSet(ResultSet resultSet) throws SQLException {
while (resultSet.next()) {
System.out.println("User: " + resultSet.getString("name"));
System.out.println("Age: " + resultSet.getString("age"));
}
}
}
Полагаю нам (Вам) понадобится немножко объяснений...
В эти строки мы записываем логин, пароль и адрес нашей базы данных соответственно...
String userName = "sayler";
String password = "1111";
String url = "jdbc:mysql://localhost/chess";
Следуйщая строчка отвечает за место расположения драйвера (коннектора), кстати который после того как мы его скачали поместили в папку java "C:\Program Files\Java\jre6\lib\ext" поместить в эту папку надо именно файл "mysql-connector-java-5.0.8-bin.jar"(Именно такую версию я поставил себе).
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
Ну и в следуйщей строке выполняется подключение к базе данных с введенными атрибутами...
conn = DriverManager.getConnection (url, userName, password);
Выполнение запроса в БД выполняется следующим образом:
statement = conn.createStatement();
resultSet = statement.executeQuery("select * from user;");
Правда есть одно "НО" таким способом вы сможете выполнить запросы по выборке данных, запросы по изменению данных не пройдут, надо делать по другому(расскажу пожже как;))
Следующая функция просто считывает результат запроса с переменной resultSet и выводите его в консоль:
private void writeResultSet(ResultSet resultSet) throws SQLException {
while (resultSet.next()) {
System.out.println("User: " + resultSet.getString("name"));
System.out.println("Age: " + resultSet.getString("age"));
Перейдем к телу Main, там все просто мы создаем объект класса sqlquery и вызываем его метод readDataBase():
sqlquery sq = new sqlquery();
sq.readDataBase();
На этом процесс "приготовления" заканчивается и мы можем с радостью сказать всем, что мы написали программу для работы с Базой Данных))))
Правда есть маленькая проблемка, если у вас в базе данных есть текст кириллицей, то он выведется в консоли непонятными иероглифами... как решить эту проблему, я напишу в следующей статье)
Спасибо, "блюдо" выглядит аппетитно, скоро начну готовить))))
ОтветитьУдалить