Artículo
· 28 sep, 2023 Lectura de 5 min

Tutorial - Cómo desarrollar InterSystems IRIS usando SSH

SSH es un framework relativamente representativo de Java, que fue popular hace muchos años. Están Struts+Spring+hibernate y Spring MVC+Spring+hibernate. Por supuesto, utilicé la segunda en la universidad. Si puedo conectar IRIS a Hibernate como librería, ¿significa también que, en teoría, IRIS puede ser desarrollado utilizando el framework SSH?

Herramientas y entorno

JDK 1.8

       Maven

       Hibernate 5.X.X

       IRISHealth-2022.1.3

       intellij idea

       Windows 10 64

Crear una base de datos

Crear varias tablas en modo código

Class BKIP.SOA.MonitorScreen.CacheTable.logError Extends %Persistent
{
/// Service Overview Cache Table
Property SucNum As %String(MAXLEN = "");
Property failNum As %String(MAXLEN = "");
Property fdateTime As %String(MAXLEN = "");
}

Como se muestra en la imagen:

 

 

Crear un proyecto Spring

El siguiente paso es utilizar IDEA para crear el mapeo de la librería y crear la Entity class

File—New—Project....

  

Poner un nombre al proyecto y seleccionar la versión jdk. Hacer clic en "Next"

  Esperar a que maven termine de crear el proyecto, como se muestra en la imagen

  Añadir los paquetes necesarios

<!--Introduce hibernate package-->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.2.9.Final</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.1.2</version>
        </dependency>

  File—Project Structure...

  Seleccionar Facets - añadir Hibernate

  Añadir el archivo de configuración como se muestra en la imagen

  El paquete de jdbc introduce a iris

Introducir la información de conexión en la configuración de Hibernate

  La herramienta de administración de bases de datos de IDEA se conecta a IRIS

Introducir el paquete driver

 

  Conectarse a la base de datos de IRIS

Seleccionar la base de datos requerida

Abrir la herramienta Hibernate, View -- Persistence

  Abrir el mapeo, como se muestra:

Seleccionar Connect e introducir el registro. Debido a que la pantalla del ordenador está incompleta, seleccionar todos.

Después, hacer clic en OK hasta que se consiga:

Se obtiene un conjunto de clases de entidad:

Ahora que la clase de entidad se ha creado, el resto de la lógica para crear una fábrica de sesiones para añadir, eliminar y verificar no se muestra aquí. Comparto una clase herramienta que usé solo como referencia

package com.example.hibernate.utils;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

/**
 * <p>
 * Hibernate Tools
 * </p>
 *
 * @author wangzhe
 * @since 2017/3/9 14:42
 */
public class HibernateUtil {

   private static final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();
   private static SessionFactory sessionFactory = null;

   static {
      try {
         Configuration cfg = new Configuration().configure();
         ServiceRegistry serviceRegistry = cfg.getStandardServiceRegistryBuilder().build();
         sessionFactory = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
      } catch (Exception e) {
         System.err.println("Failed to create session factory");
         e.printStackTrace();
      }
   }

   /**
    * Get Session
    *
    * @return Session
    * @throws HibernateException
    */
   public static Session getSession() throws HibernateException {
      Session session = (Session) threadLocal.get();
      if (session == null || !session.isOpen()) {
         if (sessionFactory == null) {
            rebuildSessionFactory();
         }
         session = (sessionFactory != null) ? sessionFactory.openSession() : null;
         threadLocal.set(session);
      }

      return session;
   }

   /**
    * Rebuild session factory
    */
   public static void rebuildSessionFactory() {
      try {
         Configuration cfg = new Configuration().configure();
         ServiceRegistry serviceRegistry = cfg.getStandardServiceRegistryBuilder().build();
         sessionFactory = new MetadataSources(serviceRegistry).buildMetadata().buildSessionFactory();
      } catch (Exception e) {
         System.err.println("Failed to create session factory");
         e.printStackTrace();
      }
   }

   /**
    * Get SessionFactory object
    *
    * @return SessionFactory object
    */
   public static SessionFactory getSessionFactory() {
      return sessionFactory;
   }

   /**
    * Close Session
    *
    * @throws HibernateException
    */
   public static void closeSession() throws HibernateException {
      Session session = (Session) threadLocal.get();
      threadLocal.set(null);
      if (session != null) {
         session.close();
      }
   }
}

 

Conclusión:
Lo anterior representa un paso que mostré sobre cómo construir un entorno y continuar desarrollando IRIS como fuente de datos combinada con el framework SSH. Aunque el contenido mostrado es relativamente simple, si sigo este camino, en teoría, puedo utilizar Java para desarrollar y utilizar IRIS, y puedo utilizar una serie de métodos nativos de Java para que sea más práctico para los desarrolladores de Java utilizar el potente rendimiento de IRIS y hacer más negocios. Al mismo tiempo, si queréis utilizar SpringBoot o incluso SpringCloud para desarrollar IRIS, no es imposible. La clave está en el rol que desempeña IRIS en esta arquitectura.

Comentarios (0)1
Inicie sesión o regístrese para continuar