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属性,用于指定实体中表示主键的属性
相关文章推荐
- Spring 整合 Redis
- PHP和MYSQL编程
- 关系型数据库和非关系型数据库
- HANA 与 Oracle 12c哪一个更快
- oracle按rownum更新数据
- memcached加日志
- SQL Server Storage
- sql中drop、truncate和delete的区别
- mysql之Xtrabackup备份及增量备份
- mysql存储过程----临时表 temporary
- oracle中与分组函数有关的多表查询的经典例子
- JSON解析数据 vs 从bomb服务器数据库查询数据
- redis之(三)redis的数据类型
- quartz详解3:quartz数据库集群-锁机制
- mysqldump备份及数据还原
- 【转】Mongodb的基本使用总结
- Hibernate中SQL标量查询、实体查询
- Nosql Mongodb 并发控制之乐观锁
- mysql存储过程----三种定义变量方式
- 例6.1:学生选课系统设计(界面设计、类图、数据库ER图)