Red de conocimiento informático - Aprendizaje de programación - Paquete de código fuente de Hibernate

Paquete de código fuente de Hibernate

Parte del proceso de construcción y código fuente:

1. Primero implemente el soporte de Hibernate3.2 Spring2.5 mediante combinación, elimine el archivo hibernate.cfg.xml, modifique el contenido del archivo applicationContext.xml y agregue SessionFactory. y configuración de fuente de datos.

2. Genere clases POJO y los archivos de mapeo correspondientes a través del modo asistente de MyEclipse.

3. Modificar

4. Escribir la interfaz DAO y la clase de implementación.

5. Modifique el archivo applicationContext.xml y agregue la configuración de la clase de implementación Dao.

6. Combinando Struts2 y Spring2.5, modifique el archivo web.xml y agregue la configuración de filtro requerida por struts2.

7. Agregue la biblioteca de clases correspondiente a struts2 y el paquete jar de configuración de struts2 y spring.

8. Copie el archivo struts.xml al directorio raíz src y luego modifique el archivo struts.xml para configurar constantes.

9. Modifique el archivo web.xml y configure el detector de Spring y las variables de contexto. Y aumente la configuración de OpenSessionInViewFilter.

10. Escribir clases de acción.

11. Configure el archivo struts.xml.

12. Modificar applicationContext.xml

13. Escribir archivo Jsp.

14. Cargue el proyecto en ejecución.

El siguiente es el código fuente del archivo clave:

Código fuente de Struts.xml:

Función de resaltado de código producida por Actipro CodeHighlighter (software gratuito) - / - gt;lt? versión xml = "1.0" codificación = "UTF-8"? gt

lt! DOCTYPE struts public

"-//Conceptos básicos del software Apache//Configuración DTD Struts 2.0//ES "

"/- gt; lt?xml version="1.0 "encoding=" UTF-8 "? gt

ltwe versión de la aplicación B = " 2.5 " xmlns = "/XML/ns/javaee "

xmlns:xsi="/xml/ns/javaee

/XML/ns/javaee/we b-app _ 2 _ 5 . p> lt contexto parámetro gt

ltparam-name gt; contextConfigLocation lt/param-name gt;

valor del parámetro lt gt/WEB-INF/applicationContext*.

xml lt/param-value gt;

lt/context-param gt;

lt! -Activar la supervisión- gt;

ltlistenergt

ltlistener classgt

org spring framework context . lt/listener-class gt;

lt/listener gt;

lt! -Configurar OpenSessionInViewFilter antes de que struts2 escuche-->;

lt filter gt

lt filter name gtlazyLoadingFilter lt/filter-name gt;

ltfilter- class gt;

org. marco de primavera. ORM. soporte de hibernación 3. opensessioninviewfilter

lt/filter-class gt;

lt/filter gt;

¡Eso! - Establecer contexto de carga de escucha - gt;

lt filter gt

lt filter name gtstruts2 lt/filter-name gt

ltfilter-class gt; p>

org. Apache .struts 2. despachador de filtro

lt/filter-class gt; asignación de filtro gt

lt nombre del filtro gtlazyLoadingFilter lt/filter-name gt;

patrón lturl gt*.actionlt/URL-pattern gt;

lt/filter -mapping gt;

lt filtro mapeo gt

lt nombre de filtro gtstruts2 lt/filter-name gt;

modo lturl gt /* lt;/URL- patrón gt;

lt/filter-mapping gt;

ltLista de archivos de bienvenidagt

ltArchivo de bienvenida gtindex.jsp lt /archivo de bienvenida gt;

lt/welcome-file-list gt;

lt/we B-app gt;

Código fuente de ApplicationContext.xml:

Función de resaltado de código hecho por Actipro CodeHighlighter (software gratuito) -/- gt;lt? xml versión="1.0 "codificación="UTF-8"? gt

ltbeans xmlns = " mons . dbcp . fuente de datos básica " gt;

ltproperty name="driverClassName "

value = " com .

MySQL . Controlador JDBC " >

lt/property >

localhost:3306/tables " gt; nombre = " nombre de usuario " valor = " raíz " > lt/property gt;

ltproperty nombre = " contraseña " valor = " hicc " gt; bean gt;

ltbean id="sessionFactory "

class = " org . spring framework . ORM . hibernate 3 . localsessionfactorybean "

ltproperty name= "dataSource "

ltref bean = " fuente de datos "/ gt;

lt/property gt

ltproperty name = " propiedades de hibernación " gt; /p>

ltprops gt

ltprop key = " hibernate . dialect " gt;

org hibernate dialecto MySQL

lt/prop. gt;

ltprop key = " hibernar . show_SQL " gt; true lt/prop gt;

lt/props gt;

lt/property gt;

ltproperty name="mappingResources " >>p>

lt lista gt

lt valor gt com/sy/CRM/model/employee XML lt;/value. gt;

lt/list gt;

lt/property gt;

lt/bean gt;

ltbean id="employeeDao; "

clase = " com . sy . CRM Dao . hibernación empleadodaohibernate " gt;

ltproperty name="sessionFactory "

ltref bean = " fábrica de sesiones "/ gt;

lt/property gt;

p>

lt/bean gt;

ltbean id="employeeManager "

class = " com . sy . CRM . service . impl . Employeemanagerimpl

" gt;

ltproperty name="employeeDao " >

ltref bean="employeeDao" /gt.

lt/property gt;

lt/bean gt;

ltbean id = " add bean " class = " com . sy . CRM . action . Employee action " alcance = " prototipo " gt; nombre="employeeManager "

ltref bean="employeeManager" /gt.

lt/property gt

lt/bean gt;

ltbean id = " list bean " class = " com . sy . CRM . action . Employee action " alcance = " prototipo " gt;

ltproperty name="employeeManager " >

ltref bean="employeeManager" /gt.

lt/property gt;

lt/bean gt

ltbean id = "eliminar bean" clase; = " com . sy . CRM . acción . acción del empleado " alcance = " prototipo " gt;

ltproperty name="employeeManager" >>p>

ltref bean="employeeManager" /gt.

lt/property gt;

lt/bean gt;

ltbean id = " actualizar bean " class = " com . sy . CRM . action . empleado acción " alcance = " prototipo " gt;

ltproperty name="employeeManager"

ltref bean="employeeManager" /gt.

lt/property gt;

lt/bean gt;

ltbean id = " editar bean " class = " com . sy . CRM . action . empleado acción " alcance = " prototipo " gt;

ltproperty name="employeeManager"

ltref bean="employeeManager" /gt.

lt/propiedad gt;

lt/bean gt

lt! -Administrador de transacciones- gt;

ltbean id="transactionManager "

class = " org . spring framework . ORM . hibernate 3 . hibernatetransactionmanager " gt; ltproperty name="sessionFactory "

ltref local="sessionFactory"/gt.

lt/propiedad gt;

lt/bean gt

lt! -Configurar características de transacciones y configurar métodos para iniciar adiciones, eliminaciones y actualizaciones. El atributo de propagación de transacciones es obligatorio ->;

lttx: id de consejo = " consejo de tx " administrador de transacciones = " administrador de transacciones " > lttx: atributos gt

lttx: nombre del método; = " agregar * " propagación = " REQUIRED "/ gt;

lttx: nombre del método = " eliminar * " propagación = " REQUIRED "/ gt;

lttx: nombre del método = " actualizar * " propagacion = " REQUIRED "/ gt;

lttx: nombre del metodo = " * " solo lectura = " true "/ gt;

lt/tx: atributo gt

lt/tx: consejo gt;

lt! -Configure los métodos de esas clases para la gestión de transacciones, así como los subpaquetes en el paquete com.sy.crm.service actual.

Todos los métodos de la clase deben hacer referencia a la configuración de tx: consejo-->;

ltAOP: config gt;

ltaop: pointcut id="allManagerMethod "expression="execute(*

com.sy.crm .service.* .*(..))"/ gt;

ltAOP: asesor consejo-ref = " tx consejo " pointcut-ref = " allManagerMethod "/ gt.

lt/AOP: config gt;

lt/beans gt;

Código fuente Add.jsp:

Por Actipro CodeHighlighter( Función de resaltado de código creada por software gratuito) -/- gt; lt @ page language = " Java " codificación de página = " utf-8 " gt

lt @ taglib uri = "/struts-tags" prefix = " s " gt;

lt! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN " gt;

lthtml gt

lthead gt

lttitle gtAgregar páginalt /title gt;

ltscript language = " JavaScript " src = " validation-framework . js " > lt/script gt

ltmeta/- gt @ page language = " Java " codificación de página = " utf-8 " gt;

lt @ taglib uri = "/struts-tags " prefix = " s " gt;

lt! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN " gt;

lthtml gt

lthead gt

lttitle gtList empleados Página lt /title gt;

ltmeta http-equiv = " pragma " content = " no-cache " gt

ltmeta http-equiv = " cache-control " content = " no- caché " gt;

ltmeta http-equiv = " expira " contenido = " 0 "

ltmeta http-equiv = " palabra clave " contenido = " palabra clave 1, palabra clave2, palabra clave3 " >

ltmeta http-equiv = " descripción " content = "Esta es mi página" gt

ltstyle type="text/css " >>p>

Tabla {

Borde: 1px negro sólido;

Contracción del borde: Contraer;

}

Título y título de la tabla

p >

Borde: 1px negro sólido;

Relleno: 3px

Color de fondo: #cccccc

}

Cuerpo de la tabla tr td {

Borde: 1px negro sólido;

Relleno: 3px

}

lt/style gt;

lt/head gt;

ltbody gt

>

lt center gt

lth3 gt

Gestión de empleados:

lt/H3 gt;

ltbr gt

lth4 gt

lta href= "../EMP/add . JSP " gt; registro de empleado

lt/H4 gt;

lts :formulario acción = "eliminar" tema = "simple" >>p>

lt table gt

ltthead gt

lttr gt

ltth gt

Seleccione

lt/ésimo gt;

lt/ésimo gt

Número

lt/ésimo gt;

ltth gt

(Nombre completo)

lt/th gt;

ltth gt

Tel p>

lt/th gt;

ltth gt

Dirección

lt/th gt;

ltth gt

p>

Operación

lt/th gt;

lt/tr gt

lt/thead gt;

lttbody gt

lts: valor del iterador = "empleados" gt;

lttr gt

lttd gt

ltinput type= "casilla de verificación" nombre ="id "

valor = ' lts:property value = " id "/>;'/ gt;

lt/TD gt;

lttd gt

lts: valor del atributo = "id"/ gt

lt/TD gt

lttd gt

lts: valor de atributo = " nombre "/ gt;

lt/TD gt;

lttd gt

lts: valor de atributo = " teléfono "/ gt;

lt/TD gt;

lttd gt

lts: valor del atributo = "dirección"/gt;

lt/TD gt ;

lttd gt

lta

href = ' lts: URL action = " editar " gt; param nombre = " id " valor = " id "/ gt; lt/s: URL gt; ' gt

Modificar

lta

href = ' lts: URL acción = "eliminar" gt; lts : nombre del parámetro = " id " valor = " id "/ gt lt/s: URL gt; ' gt

Eliminar

lt/TD gt;

lt/tr gt;

lt/s: iterador gt;

lt/tbody gt

lt/t;

able gt;

lts: enviar valor = "eliminar"/ gt;

lt/s: formulario gt;

lt/center gt;

lt/cuerpo gt;

lt/html gt;