БД в java

Материал из AOW

Перейти к: навигация, поиск

Содержание

PostgreSQL

Установка подключения (Eclips)

1. Скачать необходимую библиотеку для работы с БД

http://jdbc.postgresql.org/download.html

2. Подключить её к проекту "Build path" - "Config Build path" - "Java Build path" - "Libraries" нажать "ADD External JARs" и подключаем библиотеку. *.jar

3. Код для подключения

package javaapplication1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
 
public class main {
 
	public static void main(String args[]) {
		Connection connection;
		try {
			// Название драйвера
			String driverName = "org.postgresql.Driver"; 

			Class.forName(driverName);
			
			// Create a connection to the database
			String serverName = "localhost";
			String mydatabase = "anji";
			String url = "jdbc:postgresql://" + serverName + "/" + mydatabase;
			String username = "postgres";
			String password = "";

			connection = DriverManager.getConnection(url, username, password);
			System.out.println("is connect to DB" + connection);

			String query = "Select * FROM news.content_tb";
			Statement stmt = connection.createStatement();

			ResultSet rs = stmt.executeQuery(query);
			String dbtime;
			while (rs.next()) {
				dbtime = rs.getString(1);
				System.out.println(dbtime);
			} // end while

			connection.close();
		} // end try
		catch (ClassNotFoundException e) {
			e.printStackTrace();
			// Could not find the database driver
		} catch (SQLException e) {
			e.printStackTrace();
			// Could not connect to the database
		}
	}
}


Class.forName

С помощью вызова Class.forName. Рекомендуется именно этот способ. Следующий код загружает класс acme.db.Driver:

Class.forName("acme.db.Driver"); Только после этого драйвер появляется в списке зарегистрированных драйверов в классе DriverManager и становится возможным открывать соединения.

ResultSet

Следующий фрагмент кода демонстрирует выполнение SQL-запроса, который возвращает коллекцию строк, в которой колонка 1 - это int, колонка 2 - String и колонка 3 - массив байтов:

java.sql.Statement stmt = conn.createStatement();
ResultSet r = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (r.next()) 
{
 // Напечатать значения в текущей строке.
 int i = r.getInt("a");
 String s = r.getString("b");
 float f = r.getFloat("c");
 System.out.println("ROW = " + i + " " + s + " " + f);
}

Для указания колонки можно использовать либо ее имя, либо ее номер. Например, если вторая колонка объекта ResultSet rs называется "title" и хранит строковое значение, то извлечь его можно одним из двух способов:

String s = rs.getString("title");
String s = rs.getString(2);

MySQL

Подключение из Java к MySQL

Подключение к MySQL создается через коннектор Java, который можно скачать с сайта MySQL

Из скачанного архива нужно извлечь файл mysql-connector-java-...-bin.jar и положить в папку lib вашего проекта.

Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection c = DriverManager.getConnection("jdbc:mysql://DB_SERVER/DB_NAME?user=DB_USER&password=DB_PASSWORD");
Statement s = c.createStatement();
String query = "SELECT * FROM test";
ResultSet res = s.executeQuery(query);
res.next();
String sRes = res.getString(1);
out.println(sRes);

DB_SERVER - сервер MySQL, например mysql31.1gb.ru

DB_NAME - Имя базы данных например gb_test

DB_USER - пользователь MySQL например gb_test, на хостинге 1Gb.ru совпадает с названием базы, но в общем случае может отличаться

DB_PASSWORD - пароль для базы данных


Java и MySQL. Java connector для MySQL

Приведу маленький пример подключения к базе данных MySQL средствами Java.


Для начала нам понадобится JDBC Connector, скачать который можно на на официальном сайте MySQL по следующей ссылке. Распакуйте архив, там будет jar файл, который нужно добавить в наш проект.

Ниже приведен пример подключения к базе данных MySQL на локальном компьютере.


package news_parser_connection;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class LocalhostDBConnection {

	public static void main(String args[]) {
		Connection connection;
		try {
			// Название драйвера
			String driverName = "com.mysql.jdbc.Driver"; 

			Class.forName(driverName);

			// Create a connection to the database
			String serverName = "localhost";
			String mydatabase = "db_name";
			String url = "jdbc:mysql://" + serverName + "/" + mydatabase;
			String username = "root";
			String password = "root";

			connection = DriverManager.getConnection(url, username, password);
			System.out.println("is connect to DB" + connection);

			String query = "Select * FROM news";
			Statement stmt = connection.createStatement();

			ResultSet rs = stmt.executeQuery(query);
			String dbtime;
			while (rs.next()) {
				dbtime = rs.getString(1);
				System.out.println(dbtime);
			} // end while

			connection.close();
		} // end try
		catch (ClassNotFoundException e) {
			e.printStackTrace();
			// Could not find the database driver
		} catch (SQLException e) {
			e.printStackTrace();
			// Could not connect to the database
		}
	}
}


Ссылки

\\192.168.1.200\aow_data\_Study\java\russian\ - Находится много разнообразной документации по Java

http://javaportal.ru/

http://www.quizful.net/post/using-jdbc

Работа со строками

Личные инструменты

Разработка веб-сайтов, автоматизация.
По всем вопросам обращайтесь по телефонам:

+7 495 640 29 90
http://artofweb.ru