您的位置:首页 > 数据库

mybatis 动态sql详解

2016-05-25 21:04 369 查看
内容转自<a target=_blank href="http://haohaoxuexi.iteye.com/blog/1333271">转到原网页</a>


<mapper namespace="com.tiantian.mybatis.model.BlogMapper">
<!--  新增记录  -->
<insert id="insertBlog" parameterType="Blog">
insert into t_blog(title,content,owner) values(#{title},#{content},#{owner})
</insert>
<!--  查询单条记录 -->
<select id="selectBlog" parameterType="int" resultType="Blog">
select * from t_blog where id = #{id}
</select>
<!--  修改记录   -->
<update id="updateBlog" parameterType="Blog">
update t_blog set title = #{title},content = #{content},owner = #{owner} where id = #{id}
</update>
<!--  查询所有记录,查询多条记录即返回结果是一个集合的时候,resultType不是集合类型,而是集合所包含的类型 -->
<select id="selectAll" resultType="Blog">
select * from t_blog
</select>
<!--  模糊查询   -->
<select id="fuzzyQuery" resultType="Blog" parameterType="java.lang.String">
select * from t_blog where title like "%"#{title}"%"
</select>
<!--  删除记录   -->
<delete id="deleteBlog" parameterType="int">
delete from t_blog where id = #{id}
</delete>
</mapper>


SQL映射语句中一些应该注意的问题:

 resultType的值应该是返回类型的完全名或别名,当返回的结果是一个集合的时候,resultType应为集合中所包含的类型,而不是集合类型,如上面的Blog
resultType和resultMap都是表示指定返回结果的,但两者不能同时使用
对于Insert映射语句有一个useGeneratedKeys属性,该属性的默认值为false,当该属性的值为true时,在进行插入操作时,mybatis会取到当前正在插入的记录在数据库中的自动递增的主键值,并把它设置给指定的实体的属性,这就需要设置一个keyProperty属性,用于指定实体中表示主键的属性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: