1. ¿Qué es MyBatis Dynamic SQL?
Cuando vemos la dinámica, debemos pensar que esta es una declaración SQL que se puede cambiar.
El SQL dinámico de MyBatis se basa en expresiones OGNL, lo que puede ayudarnos a implementar fácilmente cierta lógica en las declaraciones SQL.
2. Preparación antes de usar MyBatis Dynamic SQL
a. Tabla de base de datos
b. Crear una clase
3. Usando MyBatis Dynamic SQL, primero debe conocer algunos valores de atributos
1. Insertar
select Key: instrucción SQL ejecutada antes o después de la instrucción SQL
KeyColumn: nombre o alias de campo correspondiente
KeyProperty: el nombre del atributo o el valor de la tecla de mapa correspondiente a la clase de entidad
Orden: ejecute antes o después de la declaración de ejecución
Resulttype: el tipo de resultado de retorno
El primer método: la inserción SQL dinámica más fácil
Insertar en valores del curso (seq_course.nextval,#{CourSecode},#{CourSename}) Seleccione Max (id) Currid desde el cursoprueba
Resultados de las pruebas
La segunda forma: si no quiero insertar tantos campos y no quiero insertar el campo Coursename, entonces definitivamente no es posible.
Insertar en los valores del curso (ID, CourSecode, CourSename) (SEQ_COURSE.NEXTVAL,#{CourSecode},#{CourSename})Pruebas y resultados
A partir de esto, podemos ver que este método se puede lograr cuando no quiero insertar el campo CourSecode.
Ahora el título está aquí de nuevo. ¿Qué sucede si queremos convertir el último campo en vacío, o ambos campos en vacío?
El último campo se vuelve vacío
Parece haber una coma detrás del primer signo de interrogación en la consola.
Prueba que ambos campos se vacíen
Todavía hay una coma
La razón de la situación anterior es que cuando no queremos insertar el campo, no eliminamos la coma. Ahora presentamos el tercer método.
La tercera forma es eliminar el exceso de comas
Este método debe introducir recortes
TRIM también tiene varias propiedades
prefijo: agregar prefijo
PrefiXeverrides: anular el prefijo
Sufijo: agregar sufijo
Sufixoverrides: anular el sufijo
ID, CourSecode, Coursenameseq_course.nextval,#{CourSecode},#{Coursename}Mira, el problema se ha resuelto
Al trabajar en proyectos, a menudo insertamos datos en la base de datos. A veces queremos insertar varias piezas al mismo tiempo. Entonces, ¿cómo debemos insertar múltiples datos con mybatis?
Aquí, necesitamos resolver varios problemas
1. ¿Cómo copiamos la estructura de la tabla?
Crear tabla curso02 como seleccionar * desde el curso
¿Es esta declaración muy familiar? Sí, la tabla del curso 02 no solo copia la estructura de la tabla de la tabla del curso, sino que también copia el contenido de la tabla del curso.
2. ¿Cómo copiamos solo la estructura de la tabla del curso en lugar del contenido de la tabla del curso?
cree la tabla curso03 como selección * del curso donde 1! = 1;
3. Entonces, al insertar, ¿es lo mismo que esto?
Insertar en el curso03 Seleccionar * del curso;
La respuesta es la misma
4. Cómo insertar múltiples declaraciones
insertar en el curso03Select '6', 'YC06', 'Estructura de datos 06' de Dual UnionSelect '7', 'YC07', 'Estructura de datos 07' de Dual Unionselect '8', 'YC08', 'Estructura de datos 08' de Dual UnionElect '8', 'YC08', 'Estructura de datos 08' de Dual
Ahora que la instrucción SQL está disponible, podemos insertarla en el archivo de configuración
insertar en Courseselect#{curses.id},#{curses.coursecode},#{curses.Coursename} de dual2. Modificar
1. Use el borde. Como se mencionó anteriormente, puede usar TRIM para Defix debido al atributo sufixoverrides
Actualizar el curso setCoursecode =#{CourSecode}, Coursename =#{CourSename} Where id =#{id}2. Use el conjunto, que puede reemplazar el conjunto en la instrucción y también eliminar el sufijo.
Actualizar CourSecourSecode =#{CourSecode}, Coursename =#{CourSename} Where id =#{id}3. Al modificar, también haremos cambios selectivos. A veces no queremos modificar el valor para que sea consistente con el valor sin modificación.
Elegir es equivalente a múltiple si
El primero es equivalente a si, y el segundo es equivalente a lo contrario si
de lo contrario es igual a lo más
actualizar CourSecourSecode =#{CourSecode}, CourSecode = CourSecode, CourSename =#{Coursename}, CourSename = CourSename, Where id =#{id}Lo anterior es todo el contenido de MyBatis Dynamic SQL introducido a usted. ¡Espero que sea útil para todos!