项目经验之mybatis

mybatis mapper.xml属性:

  • id=“xxxx” >>> 表示此段sql执行语句的唯一标识,也是接口的方法名称【必须一致才能找到】
  • parameterType="" >>>表示该sql语句中需要传入的参数, 类型要与对应的接口方法的类型一致【可选】
  • resultMap=“ ”>>> 定义出参,调用已定义的映射管理器的id值
  • resultType=“ ”>>>定义出参,匹配普通Java类型或自定义的pojo【出参类型若不指定,将为语句类型默认类型,如语句返回值为int】
  • 传参和取值:mapper.xml 的灵活性还体现在SQL执行语句可以传参,参数类型通过parameterType= “指定类型” 定义
  • 取值方式1:#{value jdbcType = valuetype}:jdbcType 表示该属性的数据类型在数据库中对应的类型,如 #{user jdbcType=varchar} 等价于 String username;
  • 取值方式2:${value } : 这种方式不建议大量使用,可能会发送sql注入而导致 安全性问题一般该取值方式可用在非经常变化的值上如order by ${value};
  • 取值方式3:#{0} 表示传递过来的第一参数 . 也就是说#{N} 就可以获得传递过来的第N+1个参数
/***
*
*查询基本信息
*/
<select id="getInfo" resultType="Map" parameterType="java.lang.String">
	select name ,age,sex from info
</select>
/***
*
*查询基本信息+时间条件查询
*@param 通过注解获取参数 startTime,endTime
*/
<select id="getInfoParamTime" resultType="Map" parameterType="java.lang.String">
	select name ,age,sex from info <where> 
		<if>
		createTime>to_date(#{startTime},'yyyy-mm-dd') and createTime &lt; to_date(#{endTime},'yyyy-mm-dd') 
		</if>
	</where>
</select>
/***
*
*查询基本信息+时间条件查询+name in (张三,张三丰,张君宝,张少佐)
*@param 通过注解获取参数 startTime,endTime,Arrays.asList(new String[]{"张三", "张三丰", "张君宝", "张少佐"})
*/
<select id="getInfoParamTime" resultType="Map" parameterType="java.lang.String">
	select name ,age,sex from info <where> 
		<if>
		createTime>to_date(#{startTime},'yyyy-mm-dd') and createTime &lt; to_date(#{endTime},'yyyy-mm-dd') 
		</if>
		and name IN
    <foreach item="myItem" index="index" collection="myList"
        open="(" separator="," close=")" >
        #{myItem}
    </foreach>
	</where>
</select>

/***
*
*插入基本信息
*/
<insert id="getInfo"  parameterType="java.lang.String">
	insert into info(name,age,sex) values (?,?,?)
</insert>
/***
*
*更新基本信息
*/
<update id="updateInfo"  parameterType="java.lang.String">
	update info set name='张三',age='18',sex='1'
</update>
/***
*
*删除基本信息
*@param id 通过注解获取传入的参数值
*/
<delete id="delInfo"  parameterType="java.lang.String">
	delete info where pk=#{id}
</delete>

…继续加载中…

猜你喜欢

转载自blog.csdn.net/x15270772831/article/details/82764859
今日推荐