- “AÑO DE CONSOLIDACIÓN DEL MAR DE GRAU”
INGENIERÍA DE SISTEMA Y TELEMÁTICA
· ·
JAVA CON BASE DE DATOS
DOCENTE: MARCO AURELIO PORRO CHULLI.
ASIGNATURA: DESARROLLO DE SOFTWARE
NOMBRE DEL GRUPO: “JAVA”
INTEGRANTES:
PÉREZ SAUCEDO YORDIN ALBERTO
PÉREZ SAUCEDO YORDIN ALBERTO
·
MALDONADO IDROGO BETZABETH YAMELI
CICLO: V
GRUPO: “B”
AÑO: 2016
BAGUA
GRANDE-UTCUBAMBA
l.
TEMA: JAVA CON BASE DE DATOS
1.
Contenido
- Definición
Java Database Connectivity, más conocida por sus
siglas JDBC, es una API que permite la ejecución de
operaciones sobre bases de datos desde el lenguaje de
programación Java, independientemente del sistema operativo donde se ejecute o de la base
de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de
datos que se utilice
- Objetos
Connection, Statement y ResultSet
Una vez obtenida la conexión a la BD,
podemos utilizarla para realizar consultas, inserción y/o borrado de datos de dicha
BD. Todas estas operaciones se realizarán mediante lenguaje SQL. La clase Statement es la que permite
realizar todas estas operaciones. La instanciación de esta clase se realiza
haciendo uso del siguiente método que proporciona el objeto Connection:
1
|
Statement stmt =
con.createStatement();
|
Podemos dividir las sentencias SQL en dos grupos: las que actualizan la
BD y las que únicamente la consultan. En las siguientes secciones veremos cómo
podemos realizar estas dos acciones.
Para obtener datos almacenados
en la BD podemos realizar una consulta SQL (query). Podemos ejecutar la
consulta utilizando el objeto Statement,
pero ahora haciendo uso del método executeQuery al que le pasaremos
una cadena con la consulta SQL. Los datos resultantes nos los devolverá como un
objetoResultSet.
1 ResultSet result =
stmt.executeQuery(query);
|
El objeto ResultSet dispone de un cursor que estará situado en el registro que podemos
consultar en cada momento. Este cursor en un principio estará situado en una
posición anterior al primer registro de la tabla. Podemos mover el cursor al
siguiente registro con el método next del ResultSet.
La llamada a este método nos devolverá true mientras
pueda pasar al siguiente registro, y false en el
caso de que ya estuviéramos en el último registro de la tabla.
El constructor de la clase
ConsultaSQL recibe como parámetro un objeto de tipo Connection y otro de String;
éste contendrá una sentencia SELECT; Statement es una interfaz que puede ejecutar
sentencias en lenguaje SQL a través de una conexión; su método executeQuery()recibe
la cadena SELECT y devuelve un objeto de tipo ResultSet,
que contiene una imagen de los datos devueltos por el servidor MySQL en formato
de tabla, es decir, filas y columnas; además los ResultSet tienen
un apuntador o cursor que sirve para recorrer los registros de la tabla; el
recorrido se hace con métodos como next(). No obstante, no toda
la información necesaria está en los datos que ya se obtuvieron (por ejemplo,
falta el nombre de las columnas); para obtener dicha información se usan los
objetos del-tipo ResultSetMetaData.
En la clase que acabamos de escribir, hay dos métodos: getDatosDevueltos() ygetNombresColumnas() que darán la información solicitada con la consulta en dos arreglos, uno contiene la tabla y el otro la lista de los nombres de los atributos de dicha tabla. Con ellos se podrán mostrar los datos.
En la clase que acabamos de escribir, hay dos métodos: getDatosDevueltos() ygetNombresColumnas() que darán la información solicitada con la consulta en dos arreglos, uno contiene la tabla y el otro la lista de los nombres de los atributos de dicha tabla. Con ellos se podrán mostrar los datos.
- Ejemplos
En el siguiente ejemplo, el código muestra establece
varias propiedades de conexión en la URL de conexión y, a continuación, llama
al método getConnection de la clase DriverManager
para devolver un objeto SQLServerConnection.
Después, el código muestra usa el método createStatement del objeto-SQLServerConnection
para crear un objeto SQLServerStatement y, a continuación, se llama al método executeQuery para ejecutar la instrucción SQL.
Finalmente, el ejemplo usa el objeto SQLServerResultSet devuelto por el método executeQuery para procesar una iteración mediante los resultados
devueltos por la instrucción SQL.
import java.sql.*;
public class connectURL {
public static void
main(String[] args) {
// Create a variable for the
connection string.
String connectionUrl =
"jdbc:sqlserver://localhost:1433;" +
"databaseName=AdventureWorks;user=UserName;password=*****";
// Declare the JDBC
objects.
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
// Establish the
connection.
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con =
DriverManager.getConnection(connectionUrl);
// Create and execute an
SQL statement that returns some data.
String SQL = "SELECT TOP 10 * FROM
Person.Contact";
stmt =
con.createStatement();
rs =
stmt.executeQuery(SQL);
// Iterate through the
data in the result set and display it.
while (rs.next()) {
System.out.println(rs.getString(4)
+ " " + rs.getString(6));
}
}
// Handle any errors that
may have occurred.
catch (Exception e) {
e.printStackTrace();
}
finally {
if (rs != null) try {
rs.close(); } catch(Exception e) {}
if (stmt != null) try {
stmt.close(); } catch(Exception e) {}
if (con != null) try {
con.close(); } catch(Exception e) {}
}
}
}
2.
Resumen:
· Definición:
Es una API que permite la ejecución de
operaciones sobre bases de datos desde el lenguaje de programación Java.
· Objetos Connection, Statement y ResultSet:
Statement stmt = con.createStatement();
Podemos dividir las sentencias SQL en dos grupos: las
que actualizan la BD y las que únicamente la consultan
ResultSet result = stmt.executeQuery(query);
Dispone de un cursor que estará situado en el registro
que podemos consultar en cada momento. Este cursor en un principio estará
situado en una posición anterior al primer registro de la tabla
3.
Summary
· Definition: It is an API that allows the
execution of operations on databases from the Java programming language.
· Objects Connection, Statement and ResultSet:
Statement stmt = con.createStatement ();
We can divide
the SQL statements into two groups: those that update the database and that only consult
ResultSet result = stmt.executeQuery
(query);
It has a cursor to be located on record that we can
consult at all times. This cursor initially will be located in a position above
the first record in the table
4.
Recomendaciones
-En general, no
almacenes imágenes en la base de datos. Sólo referencias a la ruta en la que se
encuentran y metadatos para identificarlas. No nos engañemos, las bases de
datos crecen y crecen y las imágenes
siguen aumentando en tamaño a su propio ritmo. Si mantienes sólo las
referencias al almacén de imágenes, la
base de datos estará en forma para
devolverte los procesos mas rápidamente.
-Usar al máximo sentencias de
base de datos precompiladas a través de la clase PreparedStatement cuando ejecute sentencias SQL. Esto
evita que la base de datos compile varias veces la misma consulta y agiliza le
ejecución de la sentencia.
-Evite el uso de
colecciones sincronizadas como Hashtable o Vector, estas implementaciones
tienen todos sus métodos sincronizados lo que implica que generan bloqueos
incluso para las operaciones de lectura. En vez de ello utilice
implementaciones más sofisticadas como ConcurrentHashMap o CopyOnWriteArrayList
que sólo bloquean las operaciones que modifiquen el contenido del objeto.
5.
Conclusiones:
-Al
culminar este trabajo, pude constatar que, la implementación de bases de datos
distribuidas resulta importante ya que se puede distribuir y replicar en
diferentes sitios cuando ciertos sitios locales tienen capacidades de
almacenamiento y procesamiento limitadas, pero tienen la ventaja de poder
integrarse a otros sitios remotos con mejores recursos por medio de una red de
comunicación.
-Como resultado, se ha desarrollado la API javagroups.sql,
un nuevo conjunto de clases e interfaces que ofrecen al usuario la posibilidad
de convertir una aplicación centralizada de acceso a bases de datos en una
aplicación distribuida y tolerante a fallos. Dado que esta nueva librería
mantiene la interfaz ofrecida por la API JDBC (java.sql),
el usuario podrá incorporar la nueva funcionalidad a sus aplicaciones sin
necesidad de realizar grandes modificaciones al código
-A
medida que se fue avanzando el desarrollo del trabajo se puede dar una visión
global de las características que conlleva el diseño de una base de datos
distribuida.
-En
este documento indicamos la localización del dato, la replicación y tipos
fragmentación, con el fin de dar al lector interesado en las bases
distribuidas, un punto de referencia de los temas actuales.
6.
Apreciación del
Equipo
La conexión Java a
una base de datos nos permite aprender el entorno del elemento JDBC y conocer
nuevas formas de acceder a una base de datos.
7.
Glosario de Términos
API: Una API (siglas de 'Application Programming
Interface') es un conjunto de reglas (código) y especificaciones que las
aplicaciones pueden seguir para comunicarse entre ellas: sirviendo de interfaz
entre programas diferentes de la misma manera en que la interfaz de usuario
facilita la interacción humano-software.
SQL: (Structured Query Language) es un lenguaje de programación
estándar e interactivo para la obtención de información desde una base de datos
y para actualizarla. Aunque SQL es a la vez un ANSI y una norma ISO,
muchos productos de bases de datos soportan SQL con extensiones propietarias al
lenguaje estándar.
QUERY: Este aviso fue puesto el
21 de octubre de 2014. Query string o, en español, cadena de
consulta es un término informático que se utiliza para hacer referencia a una
interacción con una base de datos. Es la parte de una URL que contiene los
datos que deben pasar a aplicaciones web como los programas CGI.
8.
Linkografía
Bien elaborada la PRESENTACION. Defina claramente las CONCLUSIONES y RECOMENDACIONES. Detalle la APRECIACION con sus propias palabras. Trabajo bien desarrollado y explicado. Proponga un foro de discusión sobre el tema.Gracias por su investigación.Saludos
ResponderEliminar