Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
Es un sistema de gestión de bases de datos relacional desarrollado bajo licencia dual (Licencia pública
general/Licencia comercial por Oracle Corporation) y está considerada como la base datos de código
abierto más popular del mundo. https://www.mysql.com/
2
Se refiere a un stack de software que se despliega sobre SO Windows creado por Romain Bourdon y que
consta del servidor web Apache , OpenSSL para soporte SSL, base de datos MySQL y lenguaje de
programación PHP. http://www.wampserver.com/en/
2
Problema
Se desea implementar un sistema de información para el registro de los trabajos de
grado de los estudiantes de la carrera de Ingeniería de Minas. Actualmente los
estudiantes tienen varios tipos de modalidades para poder graduarse como profesional
(trabajo de grado, pasantía, trabajo dirigido y curso de profundización). Cuando el
estudiante desea graduarse con la modalidad de trabajo de grado, pasantía y trabajo
dirigido debe presentar una propuesta o anteproyecto la cual debe contemplar el
problema o situación sobre la que desea trabajar. La presentación del anteproyecto se
realiza según unas fechas definidas por el comité del programa. Una propuesta puede
ser presentada por más de un estudiante y es importante llevar registro de las fechas
de inicio y tiempo en los cuales se realizará la propuesta, para determinar si el
estudiante ha cumplido o se encuentra atrasado en el desarrollo de su trabajo. La
propuesta también debe contar con un director, el cual en la mayoría de los casos es un
docente de la Universidad, pero que puede ser también externo a la institución.
En el comité se deben asignar tres jurados para que evalúen el anteproyecto, para poder
evaluar tienen que tener unas fechas definidas como límite. Cada jurado puede hacer
unas unas recomendaciones, poner una nota de 0 a 5 y definir si se deben aprobar,
rechazar o aprobar con correcciones.
3
Implementando la BD en MySQL
Se debe implementar la base de datos para lo que puedes utilizar la aplicación
PHPMyAdmin a través de la dirección http://localhost/. Por defecto el usuario y clave es
root y vacío.
4
INSERT INTO carrera (codigo, nombre, creditos, semestre) VALUES('118', 'Ingeniería de Minas', '155', '10')
Se debe realizar todas las tablas del modelo de datos definido anteriormente.
5
Sobre el paquete entities se deben crear todos los objetos VO. Inicialmente crearemos
la clase Carrera con los respectivos atributos (codigo, nombre, creditos, semestres).
6
7
Importar Librerías
Para poder conectar con MySQL debemos utilizar las librerías JDBC y realizar la
importación de las mismas al proyecto.
Importamos la librería necesaria, para este caso el JDBC de MySQL, haciendo clic en
Add External JARS.
8
Maven genera un archivo POM.XML, sobre el cual debo agregar las dependencias que
va a resolver.
9
3
https://github.com/
10
Git es una de las herramientas más utilizadas para el control de versiones y varias
empresas han creado sistemas de control de repositorios:
Para este proyecto como se dijo al principio del documento utilizaremos GitHub, y este
es el repositorio: https://github.com/carlosreneas/proyectomodel.
11
12
13
Después de importado el proyecto se debe realizar la conversión del proyecto a Maven.
14
JPA4 es una especificación creada para realizar el mapeo entre los objetos y las bases
de datos, por esta razón hablamos de ORM - Object Relation Mapping.
En la actualidad existen varios proveedor con implementaciones JPA como lo son los
siguientes:
● Hibernate
● ObjectDB
● TopLink
● EclipseLink
● OpenJPA
Para crear un proyecto JPA desde Eclipse se debe crear un proyecto de este estilo:
En target
runtime no es
obligatorio
seleccionar
un servidor
web de
contenedores
ya que en este
proyecto solo
trabajaremos
la capa de
persistencia.
Seguimos con
4
https://www.ibm.com/support/knowledgecenter/es/SSAW57_liberty/com.ibm.websphere.wlp.nd.multipl
atform.doc/ae/cwlp_jpa.html
15
el siguiente del asistente hasta llegar a la ventana de configuración de JPA.
En esta parte
contamos
con la
plataforma
que puede
desde el
generico
hasta
Hibernate.
Adicional la
conexión. Si
no tienen
conexión
registrada la
pueden
agregar.
16
17
18
No se debe
olvidar el
testear la
conexión a
la base de
datos.
Y finalizamos la creación del proyecto, a lo cual si no hay error el sistema pregunta si
queremos cambiar de perspectiva:
19
20
Los primeros valores corresponden a la conexión con la base de datos, y el dialecto es
el lenguaje con el que se comunicara el JPA.
21
22
se pueden agregar o no generar asociaciones, asi como definir los nombre de las
propiedades.
23
24
25
¿Como se define una clase en la que la entidad no tiene el mismo nombre que la tabla?
● @Table: p ermite definir entre otras cosas el nombre de la tabla que corresponde
a la clase
● @Column: p
ermite definir el nombre la columna de la tabla
26
Para continuar con la aplicación del patrón Singleton se crea un método getEm, el cual
retorna la entidad em creada o la inicializa, esto garantiza que solo pueda haber un
Entity Manager conectado en nuestra aplicación.
27
28
29
Antes de implementar la clase DAO se debe crear una clase interface llamada
GenericDAO, que defina los métodos de listar, buscar, insertar, actualizar y eliminar.
30
Esto debe realizarse para todas las clases Dao que deseen acceder a la base de datos.
Adicional se deben realizar todas las pruebas correspondientes del funcionamiento de
las clases Dao.
Al hacer clic Dynamic Web Project se puede ver la interfaz de creación del proyecto:
31
Se debe dar un nombre al proyecto y se debe definir el servidor de aplicaciones sobre el
que se desplegará la aplicación.
Hay diversos servidores que se pueden utilizar para el despliegue. Se debe tener en
cuenta que el servidor debe contar con un microcontenedor de servlets. Algunos
servidores de este tipo son:
Nombre Descripción
Apache Tomcat
GlassFish
Jboss EAP
32
Jetty
IBM WebSphere
Application Server
Allí se debe buscar la carpeta src del proyecto en el cual tenemos todas las clases de la
persistencia:
33
34
Algo importante es definir la URL Mappings, la cual determina con qué dirección se
podrá acceder a la clase.
35
36
El siguiente paso es importar las etiquetas JSTL a través de la siguiente etiqueta en
nuestro archivo JSP
37
Como pueden observar el prefijo c sera utilizado para hacer llamado a todas las
etiquetas de JSTL.
Para que esta etiqueta funcione debemos importar la dependencia de JSTL a Maven
agregando la dependencia al pom.xml:
Ahora vamos a crear una instancia de la clase CarreraDao en nuestra página JSP a
través de la etiqueta useBean:
Esta etiqueta permite instanciar un objeto de la clase CarreraDao con nombre cDao. del
siguiente paso es utilizar las etiquetas JSTL forEach y out. A continuaciòn hay algunas
etiquetas adicionales:
Etiqueta Descripción
<c:choose> Sí sólo como <c: when> y <c: otherwise> marca para padres
38
<c:url> Utilice los parámetros de consulta opcionales para crear una URL
39
Edición de
40