1. Mybatis Arbeitsprinzip
2. Anfrage
<select id="方法名" parameterType="方法参数类型" resultType="方法返回值类型,全类名" >
select 表中字段名 AS 结果字段名 from 表名 where 条件
<!--注意:结果字段名与属性名保持一致,区分大小写-->
</select>
3. Einfügen
<insert id="需要实现的接口里的方法名" parameterType="方法参数名,如果是对象,要写全类名">
insert into 表名 (字段1,字段2,...) values(#{参数1},#{参数2},...)
<!--注意属性名区分大小写-->
</insert>
4. Ändern
<update id="updateCustomer" parameterType="com.wang.po.Customer">
update t_customer set username=#{username},jobs=#{jobs}
,phone=#{phone} where id=#{id}
</update>
5. Löschen
<delete id="deleteCustomer" parameterType="Integer">
delete from t_customer where id=#{id}
</delete>
6.resultType-Analyse (Dieses Problem ist beim ersten Schreiben aufgetreten.)
1. Grundtyp: resultType = Grundtyp
2. Listentyp: resultType = Typ der Elemente in der Liste
3. Kartentyp: einzelner Datensatz: resultType = map
Mehrere Datensätze = Werttyp in Map
4. Objekttyp: resultType = vollständiger Klassenname des Objekts
7. Parameterverarbeitung
1. Einzelner Parameter: Verwenden Sie direkt # {Parametername}, um den Wert abzurufen
2. Mehrere Parameter: Verwenden Sie # {parameter}, # {param2}, um den Wert zu übernehmen
3. Benannte Parameter: Verwenden Sie @param ("key"), um den Schlüssel in der Paketzuordnung anzugeben. Anschließend können Sie den Parameterwert über # {key} abrufen.
4. POJO: Wenn mehrere Parameter zufällig das Geschäftsmodell sind, können Sie das Geschäftsmodell zu diesem Zeitpunkt übergeben. Sie können den Wert über # {Eigenschaftsname} abrufen.
5. Karte: Wenn mehrere Parameter keine Geschäftsmodelle sind und nicht häufig verwendet werden, können Sie die übergebene Karte anpassen
6. TO: Wenn mehrere Parameter keine Geschäftsmodelle sind und häufig verwendet werden, können Sie ein TO anpassen, um Objekte zu übertragen.
Referenz: Verarbeitung von Mybatis-Parametern
8. Der Unterschied zwischen # {} und $ {}
1. # {} Ist ein Vorkompilierungsprozess und $ {} ist ein String-Ersatz.
2. Wenn Mybatis # {} verarbeitet, ersetzt es # {} in SQL durch ein? Und ruft die festgelegte Methode von PreparedStatement auf, um sie zuzuweisen
3. Wenn Mybatis $ {} verarbeitet, ersetzt es $ {} durch den Wert der Variablen.
4. Die Verwendung von # {} kann die SQL-Injection effektiv verhindern und die Systemsicherheit verbessern.