Интерфейс Java DataBase Connectivity 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Интерфейс Java DataBase Connectivity



Java.sql включает классы для работы с базой данных.

Driver java.sql.Driver java.sql.DriverManeger
Connection java.sql.Connection
Statement java.sql.Statement java.sql.PreparedStatement
Result java.sqlResutlSet
Errors java.sql.SQLException java.sql.SQLWarning

 

Методы Java DataBase Connectivity Interface

URL ODBC jdbc:odbc:<DSN-name ODBC>;user=“userName”;pw=“secret”
java.sql.Driver methods
Connection connect(String URL,java.util.Properties)
boolean acceptURL(String url)
DriverPropertiyInfor[] getPropertyInfo(String url, java.util.Properties)
java.sql.DriverManager methods
Connection getConnection(String url,java.util.Properties)
Connection getConnection(String url,String user,String password)
Connection getConnection(String url)
java.sql.Connection methods
Statement createStatement()
PreparedStatement prepareStatement(String url)
CallableStatement prepareCall(String url)
void close()

Выбор источника данных

Oracle driver

Проверка установки драйвера

Statement

ResultSet executeQuery(String sql) Возвращает множество-результат запроса
int executeUpdate(String sql) Возвращает число обновленных строк
boolean execute(String sql) Возвращает результат запроса
int getMaxFieldSize() Определяет максимальный размер поля
void setMaxFieldSize() Устанавливает максимальный размер поля
int getMaxRows() Определяет мах число строк
void setMaxRows() Устанавливает максимальное число строк
int getQueryTimeout() Определяет timeout для запроса
void setQueryTimeout () Устанавливает timeout для запроса

 

Чтобы сделать SQL предложение исполняемым, необходимо создать карту запроса и откомпилировать ее.

Оператор Statement готовит карту запроса из SQL-предложения за один шаг.

Простой запрос

База данных находится на локальном компьютере,

пользователь и пароль не установлены

String code,name,clas,launched;

try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundException e1) {System.out.println("ClassForNameException");};

try{ Connection con=DriverManager.getConnection("jdbc:odbc:Ships","",");

Statement st=con.createStatement();

ResultSet res=st.executeQuery("SELECT * FROM Ships");

System.out.println("Result of query\n");

while(res.next()){

code= res.getString(1);

name= res.getString(2);

clas= res.getString(3);

launched= res.getString(4);

System.out.println(code+"\t"+name+"\t"+clas+"\t"+launched

}catch(SQLException e){System.out.println("SQLException);

}

Результат запроса

California Tennessee 1921

Haruna Kongo 1921

Heil Kongo 1915

Iowa Iowa 1914

Kirishma Kongo 1943

Kongo Kongo 1915

Missouri Iowa 1913

Musshi Yamato 1944

New Jersey Iowa 1942

Noth Carolina Noth Carolina 1943

Ramillies Revenge 1941

Renown Renown 1917

Repulse Renown 1916

Resolution Revenge 1916

Revenge Revenge 1916

Royal Oak Revenge 1916

Royal Sovereign Revenge 1916

Tennessee Tennessee 1920

Washington Noth Carolina 1941

Wisconsin Iowa 1944

Yamato Yamato 1941

Запрос включает проекцию и отбор

База данных находится на локальном компьютере,

пользователь и пароль не установлены

String name,clas,launched;

try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundException e1){e1.PrintStackTrace();};

try{Connection con=DriverManager.getConnection("jdbc:odbc:Ships","","");

Statement st=con.createStatement();

ResultSet res=st.executeQuery(

"SELECT Ships.name,Ships.clas,Ships.launched

FROM Ships

WHERE Ships.launched>1920");

System.out.println("Result of query\n");

while(res.next()){

name= res.getString(1);

clas= res.getString(2);

System.out.println(name+"\t"+clas+"\t"+launched);}

}catch(SQLException e){e1.PrintStackTrace();}

}

Результат запроса

California Tennessee 1921

Haruna Kongo 1921

Kirishma Kongo 1943

Musshi Yamato 1944

New Jersey Iowa 1942

Noth Carolina Noth Carolina 1943

Ramillies Revenge 1941

Washington Noth Carolina 1941

Wisconsin Iowa 1944

Yamato Yamato 1941

11. Запрос к двум таблицам

String name,clas,launched,result;

try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

}catch(ClassNotFoundException e1){ System.out.println("ClassForNameException");};

try{Connection con=DriverManager.getConnection("jdbc:odbc:Ships","","");

Statement st=con.createStatement();

ResultSet res=st.executeQuery(

"SELECT Ships.name,Ships.clas,Ships.launched,Outcomes.result "+

"FROM Ships,Outcomes "+

"WHERE Ships.name=Outcomes.ship");

while(res.next()){

name= res.getString(1);

clas= res.getString(2);

launched=res.getString(3);

result= res.getString(4);

System.out.println(name+"\t"+clas+"\t"+launched+"\t"+result)

}catch(SQLException e){System.out.println("SQLException")

12. Результат запроса к двум таблицам



Поделиться:


Последнее изменение этой страницы: 2016-07-16; просмотров: 152; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.149.234.141 (0.01 с.)