1. Principio de funcionamiento de Mybatis
2. Consulta
<select id="方法名" parameterType="方法参数类型" resultType="方法返回值类型,全类名" >
select 表中字段名 AS 结果字段名 from 表名 where 条件
<!--注意:结果字段名与属性名保持一致,区分大小写-->
</select>
3. Insertar
<insert id="需要实现的接口里的方法名" parameterType="方法参数名,如果是对象,要写全类名">
insert into 表名 (字段1,字段2,...) values(#{参数1},#{参数2},...)
<!--注意属性名区分大小写-->
</insert>
4. Modificar
<update id="updateCustomer" parameterType="com.wang.po.Customer">
update t_customer set username=#{username},jobs=#{jobs}
,phone=#{phone} where id=#{id}
</update>
5. Eliminar
<delete id="deleteCustomer" parameterType="Integer">
delete from t_customer where id=#{id}
</delete>
6. análisis de tipo de resultado (me encontré con este problema cuando escribí por primera vez)
1. Tipo básico: resultType = tipo básico
2. Tipo de lista: resultType = tipo de elementos en la lista
3.tipo de mapa: registro único: resultType = map
Múltiples registros = tipo de valor en el mapa
4. Tipo de objeto: resultType = nombre completo de la clase del objeto
7. Procesamiento de parámetros
1. Parámetro único: use directamente # {nombre del parámetro} para el valor, mybatis no tiene un tratamiento especial, el nombre del parámetro se puede escribir de manera informal
2. Múltiples parámetros: use # {parámetro}, # {param2} para tomar el valor
3. Parámetros con nombre: use @param ("clave") para especificar la clave en el mapa del paquete, y luego puede obtener el valor del parámetro a través de # {clave}
4. POJO: Si varios parámetros son el modelo de negocio, puede pasar el modelo de negocio en este momento, puede obtener el valor a través de # {nombre de propiedad}
5.Mapa: si varios parámetros no son modelos de negocio y no se utilizan con frecuencia, puede personalizar el Mapa para pasarlo
6. TO: Si varios parámetros no son modelos de negocio y se usan con frecuencia, puede personalizar un TO para transferir objetos.
Referencia: procesamiento de parámetros de mybatis
8. La diferencia entre # {} y $ {}
1. # {} es un proceso de precompilación, y $ {} es un reemplazo de cadena.
2. Cuando Mybatis está procesando # {}, reemplazará # {} en sql con un? Y llamará al método establecido de PreparedStatement para asignar
3. Cuando Mybatis procesa $ {}, reemplaza $ {} con el valor de la variable.
4. El uso de # {} puede prevenir efectivamente la inyección de SQL y mejorar la seguridad del sistema.