Prefacio
Existe un atributo Parametertype en los elementos Seleccionar, Insertar, Actualizar y Eliminar en el archivo MyBatis Mapper, que se utiliza para los tipos de parámetros correspondientes aceptados por el método de la interfaz Mapper. Este artículo presenta principalmente el contenido relevante sobre el tipo de parámetro de parámetro en MyBatis. Se comparte para su referencia y aprendizaje. No diré mucho a continuación. Echemos un vistazo a la introducción detallada juntos.
1.
1. 1. Tipos de datos básicos: int, cadena, larga, fecha;
1. 2. Tipos de datos complejos: clases y mapas
2. Cómo obtener el valor en el parámetro:
2.1 Tipo de datos básicos: #{parámetro} Obtener el valor en el parámetro
2.2 Tipo de datos complejos: #{nombre de atributo}, #{key} en el mapa
3. Caso:
3.1 casos de tipo de datos básicos
<sql id = "base_column_list"> id, car_dept_name, car_maker_name, icon, car_maker_py, hot_type </sql> <select id = "selectbyPrimaryKey" resultmap = "BaseSultMap" Parametertype = "java.lang.long" Common_car_make Where id = #{id, jdbctype = bigint} </select>3.2 Tipo de mapa de tipo complejo
<select id="queryCarMakerList" resultMap="BaseResultMap" parameterType="java.util.Map"> select <include refid="Base_Column_List" /> from common_car_make cm where 1=1 <if test="id != null"> and cm.id = #{id,jdbcType=DECIMAL} </if> <if test = "cardeptName! = null"> y cm.car_dept_name = #{cardeptName, jdbctype = varchar} </if> <if test = "carmakername! = null"> y cm.car_maker_name = #{carmakername, jdbctype = varchar} </if> <if test = "hottype! cm.hot_type = #{hottype, jdbctype = bigint} </if> orden por cm.id </elect>3.3 Tipos complejos Tipos de clase
<update id = "updateByPrimaryKeySelective" parametertype = "com.epeit.api.model.commonCarmake"> update común_car_make <set> <if test = "cardeptName! = null"> car_dept_name = #{cardeptName, jdbctype = varHarch Car_maker_name = #{carmakername, jdbctype = varchar}, </if> <if test = "icon! = null"> icon = #{icon, jdbctype = varchar}, </if> <if "carmakerpy! = null"> car_maker_py = #{carmakerpy, jdbtype, var, = Varchar, var, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, Varchar, VarHar, VarHar, VarHar, VarHar, VarHar, VarHar, VarHar, VarHar, VarHar, VarHar, VarHar, VarHar, VarHar, JDBTYPE, </if> <if test = "Hottype! = Null"> hot_type = #{Hottype, jdbctype = bigint}, </if> </set> where id = #{id, jdbctype = bigint} </update>3.4 Tipo complejo: el caso donde las matrices se incluyen en el mapa
<select id = "selectProorDerByOrderId" resultType = "com.epeit.api.model.proorder" parameterType = "java.util.hashmap"> select sum (pro_order_num) proorderNum, product_id productid, promotion_id promotionid de pro_order donde 1 = 1 <if test = "ordenids"> null "> y <ydereAthes" item = "item" Open = "Order_id in (" Separator = "," Close = ")"> #{item, jdbctype = bigint} </ foreach> </if> group por product_id, promotion_id </select>4. Annotación @param: Esto es bastante especial, pero es fácil de entender
Caso 1:
@Param(value="startdate") String startDate : anotar una sola propiedad; Esto es similar a cambiar el nombre del parámetro una vez
Por ejemplo, configure las declaraciones SQL (capa DAO) en *mapper.xml llamando a mybatis
List <String> selectIdBySortTime (@param (value = "startDate") string startDate);
Luego, la declaración en XML debe coincidir con el contenido en los soportes @param: el parámetro es inicial.
<select id = "selectIdBySorttime" resultType = "java.lang.string" parametertype = "java.lang.string"> Seleccione Ajlcid distinto de EBD_FH_AJLC Where sorttime> = a_date (#{startDate, jdbctype = varchar = varchar keyValue en (seleccione Distint CompanyName de EBD_FH_COMPANY_LIST DONDE ISUPDATE = '0') </select> Caso 2:
Anotación javabean,@param (value = "datevo") datevo datevo; Debe prestar atención a los parámetros escritos
Lista <String> selectIds (@param (value = "datevo") datevo datevo);
Archivo de asignación correspondiente
<select id = "selectids" resultType = "java.lang.string" parametertype = "com.api.entity.datevo"> seleccione distinto aJlcid de ebd_fh_ajlc Where sorttime> = to_date (# {datevo.startDate, jdbctype = varchare = varchar creat_date = updateD_date y keyValue en (seleccione Distint CompanyName de EBD_FH_COMPANY_LIST donde iSupdate = '0') </select>En cuanto a las ventajas y desventajas, depende de las preferencias personales
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.