El primer paso es implementar la interfaz TypeHandler <T>
@Mappedjdbctypes (jdbctype.timestamp) // Si esta anotación no se usa aquí, debe escribir jdbctype = "timestamp" @mappedtypes (dateTime.class) // Si esta anotación no se usa aquí, debe escribir javatipo = "com.sinosoft.sysframe.CoCommon.DateTiTime.datea DateTimeHandler implementa TypeHandler <Stetime> {Paso 2 Registro Tipo Handler
Hay dos formas de registrarse
Uno es un solo registro
<PyingHandlers> <typeHandler Handler = "com. ***. DataTimeTypeHandler" javatype = "[ljava.lang.string;" jdbctype = "varchar"/> </typehandlers>
Uno es el registro por lotes
<Mappers> <mapper resource = "com/tiantian/mybatis/mapper/usermapper.xml"/> <paquete name = "com.tiantian.mybatis.mapperterface"/> </mappers>
Si se utiliza el segundo método de registro, las declaraciones de JDBCType y Javatype solo pueden definirse mediante anotación
Paso 3: Use:
1. Definición de campo de referencia de resultados de consulta
<resultmap id = "userResult" type = "user"> <id columna = "id" propiedad = "id"/> <resultado columna = "intereses" propiedad = "intereses" javatype = "[ljava.lang.string;" jdbctype = "varchar"/> </resultmap>
o
<resultmap id = "userResult" type = "user"> <id columna = "id" propiedad = "id"/> <resultado columna = "intereses" propiedad = "intereses" typeHandler = "com.tiantian.mybatis.handler.stringArrayTypeHandler"/> </sultMap>
Es decir, si la clase TypeHandler se especifica directamente, no necesita escribir Javatype y JDBCType, incluso si escribe MyBatis, no necesita hacerlo.
2. Pase los parámetros y la consulta o modifíquelos
<if test = "txlogstatus! = null"> txlogstatus = #{txlogStatus, typeHandler = com.rrcp.util.typeHandlers.eventStatustypeHandler}, </fi>Del mismo modo, el TypeHandler aquí también se puede reemplazar con JDBCType y Javatype
Resumir:
Intente mantenerlo consistente o escríbelo intacto al registrarlo y usarlo. Si no está unificado, no se encontrará el TypeHandler correspondiente y se informará el error. Nuestro propósito es usar correctamente el mecanismo de procesamiento de typeHandler. No queremos profundizar en el algoritmo utilizado por MyBatis para registrarse y buscar, por lo que siempre que sea exitoso. Si tiene tiempo y tiene tiempo, puede estudiar qué consecuencias se causarán al registrar menos atributos. Sin embargo, si los estudia a fondo, tal vez se cambie la próxima versión de Myabtis.
Lo anterior es el proceso de tres pasos de implementación de un tipo de mano personalizado para mybatis que le presenté. Espero que te sea útil. Si tiene alguna pregunta, déjame un mensaje y el editor le responderá a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!