Primavera (seis)

primavera JDBC

       módulo de base de datos JDBC de primavera es responsable de la gestión de recursos y manejo de errores, simplifica en gran medida el funcionamiento de los desarrolladores de bases de datos, permitiendo a los desarrolladores de bases de datos liberados de operaciones tediosas, por lo tanto más energía en los procesos de negocio.

       Análisis de primavera JdbcTemplate:

       Para el funcionamiento de la base de datos, Spring Framework proporciona la clase JdbcTemplate, que es la base para la capa de abstracción de datos Spring Framework, otra clase abstracta alto nivel se construye encima de JdbcTemplate.

       configuración de Spring JDBC

       módulo SpringJDBC consiste en cuatro paquetes, a saber, el núcleo (core), el origen de datos (fuente de paquetes de datos), de objetos (paquetes de objetos) y apo (Support Package)

       Núcleo: contiene la funcionalidad básica de JDBC, incluyendo JdbcTemplate etc.

       DataSource: utilidad de acceso a fuentes de datos de clase, tiene que lograr una variedad de fuentes de datos

       Objeto: un acceso orientado a objetos para bases de datos, que permite ejecutar la consulta y devuelve un resultado de objetos de negocio, atributos puede estar entre las columnas y el objeto de negocio en la tabla de datos de resultados de la consulta de mapas.

       Soporte: que comprende el núcleo y el objeto, por ejemplo, una excepción de SQL conversión excepción

       Los ejemplos de código se muestra:

       Tiene una base de datos y tablas

      

       métodos de interfaz de escritura:

       interfaz pública PersonDao {

      

       // add

       public int addPerson (Persona p);

      

       // actualización

       public int updatePerson (Persona p);

      

       // eliminar

       public int deletePerson (int id);

      

       // Según Identificación

       Persona findPersonById pública (int id);

      

       // Consulta todos

       Lista pública <persona> findAllPerson ();

      

}

       clases de interfaz de escritura:

       public class PersonDaoImpl implementos PersonDao {

 

       // Declarar propiedades JdbcTemplate y sus métodos setter

       JdbcTemplate JdbcTemplate privado;

 

       setJdbcTemplate pública vacío (JdbcTemplate JdbcTemplate) {

              this.jdbcTemplate = JdbcTemplate;

       }

 

       // add

       @Anular

       public int addPerson (Persona p) {

              // generada-Auto TODO Stub

              // definir sql

              Cadena sql = "INSERT INTO Persona (nombre, PWD) valor (?,?)";

              // define matriz para almacenar parámetros declaración sql

              Object [] obj = new Object [] {p.getName (), p.getPwd ()};

              int num = this.jdbcTemplate.update (sql, obj);

              num regresar;

       }

 

       @Anular

       public int updatePerson (Persona p) {

              // generada-Auto TODO Stub

              // definir sql

              Cadena SQL = "actualización persona nombre del set = ?, pwd = donde id =??";

              // define matriz para almacenar parámetros declaración sql

              Object [] obj = new Object [] {p.getName (), p.getPwd (), p.getId ()};

              int num = this.jdbcTemplate.update (sql, obj);

              num regresar;

       }

 

       @Anular

       public int deletePerson (int id) {

              // generada-Auto TODO Stub

              // definir sql

              Cadena SQL = "borrar de la persona donde id =?";

              int num = this.jdbcTemplate.update (sql, id);

              num regresar;

       }

 

       @Anular

       Persona findPersonById pública (int id) {

              // generada-Auto TODO Stub

              // define una instrucción SQL

              Cadena sql = "select * from persona donde id =?";

              // crear un nuevo objeto es BeanPropertyRowMapper

              RowMapper <persona> RowMapper = new BeanPropertyRowMapper <persona> (

                            Person.class);

              // El id se une a la instrucción SQL se puede consultar la base de datos y la cartografía

              retorno this.jdbcTemplate.queryForObject (sql, RowMapper, id);

       }

 

       @Anular

       Lista pública <persona> findAllPerson () {

              // generada-Auto TODO Stub

              Cadena sql = "SELECT * FROM persona";

              // crear un nuevo objeto es BeanPropertyRowMapper

              RowMapper <persona> RowMapper = new BeanPropertyRowMapper <persona> (

                            Person.class);

              // El id se une a la instrucción SQL se puede consultar la base de datos y la cartografía

              retorno this.jdbcTemplate.query (sql, RowMapper);

       }

 

}

       clases de entidad de escritura:

       public class Persona {

      

       Identificación del private int;

      

       private String nombre;

      

       pwd cadena privada;

 

       Persona pública () {

              súper();

              // generada automáticamente TODO talón de constructor

       }

 

       Persona pública (int id, String nombre, cadena PWD) {

              súper();

              this.id = id;

              this.name = Nombre;

              this.pwd = pwd;

       }

 

       public int getId () {

              Identificación del retorno;

       }

 

       setId public void (int id) {

              this.id = id;

       }

 

       Public String getName () {

              Nombre del retorno;

       }

 

       pública setName void (String nombre) {

              this.name = Nombre;

       }

 

       Cadena getPwd pública () {

              pwd regresar;

       }

 

       setpwd pública vacío (PWD String) {

              this.pwd = pwd;

       }

 

       @Anular

       Cadena public toString () {

              volver "Persona [id =" + Identificación + "name =" + nombre + "pwd =" + pwd + "]";

       }

      

}

       clases de prueba de escritura:

       public class {testDemo

      

       @Prueba

       método public void () {

              ApplicationContext aplicación = nuevo ClassPathXmlApplicationContext ( "applicationContext.xml");

              JdbcTemplate JdbcTemplate = (JdbcTemplate) app.getBean ( "JdbcTemplate");

             

              // utilizar declaraciones se ejecuta el método Execute () SQL para crear la tabla de Estudiantes

              jdbcTemplate.execute ( "crear estudiante tabla (" +

                            "Id int clave principal," +

                            "Varchar nombre de usuario (50)," +

                            "Doble balance)");      

             

              System.out.println ( "Creación de acabado tabla sudent ...");

             

       }

      

       @Prueba

       addMethod2 public void () {

              ApplicationContext aplicación = nuevo ClassPathXmlApplicationContext ( "applicationContext.xml");

              PersonDao pd = (PersonDao) app.getBean ( "PersonDao");

              Persona p = new Persona ();

              p.setName ( "Wei Yan");

              p.setPwd ( "123");

             

              int num = pd.addPerson (p);

             

              System.out.println (num);

       }

      

       @Prueba

       updateMethod3 public void () {

              ApplicationContext aplicación = nuevo ClassPathXmlApplicationContext ( "applicationContext.xml");

              PersonDao pd = (PersonDao) app.getBean ( "PersonDao");

              Persona p = new Persona ();

              p.setId (1);

              p.setName ( "Zhao");

              p.setPwd ( "123");

             

              int num = pd.updatePerson (p);

             

              System.out.println (num);

       }

      

       @Prueba

       deleteMethod4 public void () {

              ApplicationContext aplicación = nuevo ClassPathXmlApplicationContext ( "applicationContext.xml");

              PersonDao pd = (PersonDao) app.getBean ( "PersonDao");

              Persona p = new Persona ();

              p.setId (1);

             

              int num = pd.deletePerson (2);

             

              System.out.println (num);

       }

      

       @Prueba

       findPersonByIdMethod5 public void () {

              ApplicationContext aplicación = nuevo ClassPathXmlApplicationContext ( "applicationContext.xml");

              PersonDao pd = (PersonDao) app.getBean ( "PersonDao");

              Persona findPersonById = pd.findPersonById (1);

              System.out.println (findPersonById);

             

       }

      

       @Prueba

       findAllPersonMethod6 public void () {

              ApplicationContext aplicación = nuevo ClassPathXmlApplicationContext ( "applicationContext.xml");

              PersonDao pd = (PersonDao) app.getBean ( "PersonDao");

              Lista <persona> findAllPerson = pd.findAllPerson ();

             

              para (p Persona: findAllPerson) {

                     System.out.println (p);

              }

             

             

       }

      

}

 

Escribir archivo de configuración:

       <! - 1, la fuente de datos de configuración ->

       <Bean id = clase "origen de datos" = "org.springframework.jdbc.datasource.DriverManagerDataSource">

      

              <! - con bases de datos ->

              <Property name = "driverClassName" value = "com.mysql.jdbc.Driver" />

              <! - enlace a la URL de base de datos ->

              <Nombre = valor de la propiedad "url" = "jdbc: mysql: // localhost: 3306 / demo" />

              <! - nombre de usuario enlace a la base de datos ->

              <Nombre de propiedad = valor "nombre de usuario" = "raíz" />

              <! - Contraseña vincular la base de datos ->

              <Nombre de propiedad = valor "contraseña" = "123456" />

      

       </ Bean>

      

       <! - 2, configurar plantillas de JDBC ->

       <Bean id = clase "JdbcTemplate" = "org.springframework.jdbc.core.JdbcTemplate">

      

              <! - por defecto debe utilizar una fuente de datos ->

              <Property name = "dataSource" ref = "origen de datos" />

      

       </ Bean>

      

       <Bean id = clase "PersonDao" = "com.bdqn.cn.dao.PersonDaoImpl">

      

              <Property name = "JdbcTemplate" ref = "JdbcTemplate" />

      

       </ Bean>

       Primavera de gestión de transacciones 's

       modo de gestión de transacciones:

  1. gestión de transacciones programática

gestión de transacciones se logra mediante la escritura de código, incluyendo la definición del principio de la transacción, la transacción después de la normal y anormal cometer rollback de transacciones

  1. gestión de transacciones declarativa

gestión de transacciones se logra a través de la tecnología AOP, la idea principal es la gestión de los asuntos como un código de "aspecto", escrito por separado y luego por la tecnología de gestión de transacciones AOP se "corte" el código de tejido en la clase de objetivos de negocio

       gestión de transacciones declarativa de dos maneras:

       1, basado en el enfoque de gestión de transacciones declarativa XML es relevante comunicado por la configuración de reglas de negocio en el fichero de configuración de lograr. Spring2.0 más tarde, una transacción de configuración x espacio de nombres para el siguiente tx espacio de nombres <tx: advice> elemento para configurar la transacción de notificación (procesamiento de mejora). Cuando: Después <tx consejos> configura elementos de los servicios de procesamiento avanzadas, puede escribir por la configuración de AOP, que la primavera generar automáticamente el objetivo de proxy.

Publicado 40 artículos originales · ganado elogios 7 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/sj_1993/article/details/105250516
Recomendado
Clasificación