SpringMVC notas de estudio (dos): parámetros del controlador

Uno, complemento de paginación mybatis (complemento PageHelper)

Dirección del documento: Ver documento

1. Paginación de la base de datos

Paginación de base de datos: paginación física y paginación de memoria
1) Paginación de memoria : primero cargue todos los datos en la memoria y luego busque los datos paginados de la memoria.
2) Paginación física : cuando se recuperan datos, solo se recuperan datos de paginación y los datos se devuelven al cliente.
MyBatis proporciona paginación de memoria: parámetro RowBounds.
Paginación física de Mybatis:
1. Escriba su propia declaración sql sql limit ?,?
2. Complemento MyBatis MyBatis PageHelper

2. Pasos para utilizar PageHelper

Paso 1: Jarra de personas líderes

pagehelper-5.1.9.jar
jsqlparser-2.1.jar

Paso 2: integración de Spring (spring-datasource.xml)

       <!--分页插件  -->
       <property name="plugins">
        <array>
            <bean class="com.github.pagehelper.PageInterceptor">
                <!-- 这里的几个配置主要演示如何使用,如果不理解,一定要去掉下面的配置 -->
                <property name="properties">
                    <value>
                        helperDialect=mysql
                        reasonable=true
                        supportMethodsArguments=true
                        params=count=countSql
                        autoRuntimeDialect=true
                    </value>
                </property>
            </bean>
        </array>
    </property>

Paso 3: llamar al método de paginación en la capa de servicio

		PageHelper.startPage(2, 3);
		List<Users> list = usersMapper.selectByExample(null);
		System.out.println(list);

Nota:
1) PageHelper.startPage (2, 3); consulte la segunda página y muestre 3 entradas por página.
2) Solo se paginará el primer método de consulta de Mybatis (Select) que sigue al método PageHelper.startPage.

En segundo lugar, la visualización del tipo de datos de fecha en jsp

Método: biblioteca de formato de jstl de jsp (biblioteca c)

第 1 步 : <% @ taglib uri = “http://java.sun.com/jstl/fmt_rt” prefijo = “fmt”%>

Paso 2: <fmt: formatDate value = "$ {user.birthday}" pattern = "yyyy-MM-dd HH: mm: ss" />
formatee los datos del tipo de fecha que el controlador pasa a una cadena en el formato especificado fecha.

				**注**:HH是24小时制      hh是12小时制

Tres, enlace de parámetro del controlador @controller del procesador mvc de resorte

1. Enlace de parámetro de tipo básico: enlace automático

Requisitos : Los parámetros del método del procesador deben ser consistentes con los parámetros de la URL.

2. Enlace de parámetro de tipo de objeto Pojo: enlace automático

Requisitos : El nombre del elemento expresado debe ser coherente con el nombre del atributo del pojo.

3. Los parámetros predeterminados del método de control: solicitud, respuesta, modelo, sesión.
4. Colección

1) Matriz

Nota: No elimine en lotes uno por uno, debe
eliminar de los usuarios donde la identificación está en (33,57) a través de la declaración de eliminación por lotes

2) colección de listas

3) Colección de mapas

5. Parámetros del controlador y otras cosas

1) 、 @ RequestParam

@RequestParam (name = “pageNum”, defaultValue = “1”)
Función 1) El valor predeterminado se puede establecer
Función 2) El nombre del parámetro pasado desde el front-end de la asignación de parámetros es inconsistente con el nombre del parámetro de la interfaz del controlador back-end

2), transferencia de parámetros de estilo restFul

http: // localhost: 8080 / nombre de la aplicación / user / delete? id = 33 parámetros de transferencia de estilo que no son restFul
http: // localhost: 8080 / nombre de la aplicación / user / delete / 33 parámetros de transferencia de estilo restFul
Nota: @PathVariable es necesario para los parámetros Enlazar

Suplemento :

  1. El código de respuesta de la solicitud http:
    404 : No se puede encontrar el recurso
    500 : Error de código del sistema
    200 : La solicitud se realizó correctamente
    400 : No se puede aceptar la solicitud de solicitud incorrecta- Error de enlace de parámetro general [Clave]
  2. Mvc resorte se encarga de la cuestión de parámetro de fecha vinculante [punto Key]:
    Método 1: @DateTimeFormat (patrón = “aaaa-MM-dd”) Realización
    premisa : primavera-web.xml permite mvc anotación de configuración
<mvc:annotation-driven></mvc:annotation-driven>替换
                    
<!-- 1.映射器:HandlerMapping  url==>handler -->

<bean  class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"></bean>

<!-- 2.适配器: HandlerAdatper   调用 Handler==>Controller-->

<bean  class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"></bean>

mvc: compatible con anotaciones @DateTimeFomat y @NumberFormat

Nota: mvc: la configuración basada en anotaciones carga automáticamente RequestMappingHandlerMapping y RequestMappingHandlerAdapter

Método 2: @InitBinder solo convertirá automáticamente la fecha de la cadena del controlador actual a la fecha de la fecha

/**
    * 注册属性编辑器(字符串转换为日期)
   */
   @InitBinder
   public void initBinder(WebDataBinder binder) throws Exception {
    
    
       binder.registerCustomEditor(Date.class, new CustomDateEditor(
               new SimpleDateFormat("yyyy-MM-dd"),true));
   }

Inserte la descripción de la imagen aquí

	 特别注意:必须在web.xml中配置spring的编码过滤器,否则乱码。

Método tres: plugin de extensión Spring MVC-HandlerMethodArgumentResolver (entender)

El formulario -----> edición del método del controlador (usuarios usuarios)
HandlerMethodArgumentResovle se utiliza para procesar al cliente para pasar los parámetros de solicitud al método del controlador
para el enlace automático de parámetros.
Haga clic para obtener detalles

Capítulo anterior : notas de estudio de springMVC (1): proceso de desarrollo de springmvc

Supongo que te gusta

Origin blog.csdn.net/weixin_46822085/article/details/108984250
Recomendado
Clasificación