NetBeans API con una base de datos y casi sin escribir código
Vamos a crear
un API muy simple con NetBeans que se va a encargar de administrar una base de
datos muy simple y no vamos a tener que escribir casi nada de código. Todo lo
vamos a poder hacer con NetBeans y los frameworks que ya están instalados.
Ahora si lo
primero que vamos hacer es crear un proyecto Web para crear nuestro API.
A mi
proyecto le voy a poner AdminPerson y voy a usar el servidor de Apache Tomcat
8.0, después de seleccionar el servidor le damos finalizar.
Ahora vamos
a crear una base de datos local con derby. Se puede hacer en MySql o cualquier
otro motor relacional. En esta base de datos vamos a crear una sola tabla
llamada Person. La tabla Person va a tener los siguientes atributos ID, NAME,
LASTNAME, EMAIL.
Para continuar
debemos dar clic derecho sobre nuestro proyecto y continuamos con el botón New
Si témenos la
opción de “RESTful Web Services from Database” le damos clic a esta opción de
una vez de lo contrario nos vamos al menú de otros
En este menú
de otro también vamos a tener la opción de “RESTful Web Services from Database”
Muy bien el
siguiente paso es configurar la base de datos
Si ya
tenemos la conexión solo la seleccionamos, pero si no está lista la conexión debemos
configurarla con la segunda opción del menú.
Con la conexión
lista ahora debemos de seleccionar la tabla o tablas que vamos a usar para
nuestro API.
Le damos
siguiente al menú
Para finalizar
tenemos que darle un nombre al paquete y damos clic a Next. Por último, damos
clic a finalizar y ya casi estamos listos para trabajar con nuestro API.
Para que
nos funcione nuestro ejemplo debemos de agregar en las librerías el drive de Derby
Para que
este ejemplo funciona se debe descargar el JAR javax.ejb.jar. Este se puede
descargar de la página de Maven y lo tenemos que agregar a nuestra solución.
Ahora en el
constructor de mi clase PersonFacadeRest agregue estas dos líneas de código
Para que el
objeto que controla mi base datos este inicializados siempre.
Después de
este cambio me fui a la clase AbstractFacade.java y agregar a los métodos de
create, edit y remove las siguientes líneas:
- getEntityManager().getTransaction().begin();
- getEntityManager().getTransaction().commit();
Y con esto
ya estamos listos.
Por ejemplo,
el método post para guardar personas funciona perfectamente y los datos quedan
almacenados en la base de datos Person.