Mybatis-Spring整合在线文档-中文官网
Mybatis-Spring整合在线文档-英文官网
参数类型
1.Mybatis的Mapper如果只需要传入List或者Array,不需要显示的写parameterType,则可以省略,
<delete id="deleteBatch">//不需要写parameterType
delete from rmp_binder where binder_id in
<foreach collection="array" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</delete>
2.传入的参数是List<Map>类型
<!-- 批量添加内容到活页夹 -->
<insert id="addContent2Binder" parameterType="list">
INSERT INTO rmp_binder_content(binder_id,cont_path,append_date) VALUES
<foreach collection="list" item="item" separator=",">
(#{item.binder_id},#{item.cont_path},#{item.append_date})
</foreach>
</insert>
注意:括号()的位置,不能在<foreach>上。因为批量插入的格式为insert into xx(xx,xx,xx) values(xx,xx,xx),(xx,xx,xx),(xx,xx,xx)
每一次赋值都会有一个括号,而写在<foreach>上,只会生成一个括号。
List<HashMap<String, Object>> mapList = new ArrayList<HashMap<String, Object>>();
for (int i = 0 ; i < ids.length ; i++) {
HashMap<String, Object> map = new HashMap<String, Object>();
// map用来封装每条记录(id为自增)
map.put("binder_id", binder_id);
String contPath = "type=" + contentTypes[i] + ",id=" + ids[i];
map.put("cont_path", contPath);
map.put("append_date", new Date());
mapList.add(map);//存入map
}
binderContentDao.addContent2Binder(mapList);//List<Map>类型
模糊查询
点击打开链接
主键自增
如果数据库支持自增,例如mysql,SQLServer,可以设置 useGeneratedKeys=”true”,然后把keyProperty 设成对应的列,就搞定了。
<insert id="insertBlog" parameterType="Blog" useGeneratedKeys=”true” keyProperty=”id”>
insert into Blog
(title,author_id)
values
(#{title},#{authorId})
</insert>
还可以使用selectKey元素。使用mysql数据库nextval('student')为自定义函数,用来生成一个key。
<insert id="insertBlog" parameterType="Blog" >
<selectKey keyProperty="studentID" resultType="String" order="BEFORE">
select nextval('id')
</selectKey>
insert into Blog
(id,title,author_id)
values
(#{id},#{title},#{authorId})
</insert>
oracle主键自增
①创建序列
//创建序列BASIC_NOTICE
CREATE SEQUENCE SEQ_BASIC_NOTICE
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
NOCACHE
②创建触发器
//创建触发器
CREATE OR REPLACE TRIGGER TRG_BASIC_NOTICE
BEFORE INSERT
ON BASIC_NOTICE
FOR EACH ROW
DECLARE
-- local variables here
BEGIN
SELECT SEQ_BASIC_NOTICE.NEXTVAL INTO :NEW.NOTICE_ID FROM dual;
END;
③
<insert id="savePerson" parameterType="hashmap" flushCache="true">
<selectKey resultType="String" keyProperty=”id” order=”BEFORE”>
select SEQ_BASIC_NOTICE.nextval as id from dual
</selectKey>
insert into person(id, name, type, gongfu, description)
values(#{id}, #{name}, #{type}, #{gongfu}, #{description})
</insert>
其它
1.删除、修改、添加数据库会默认有返回值,返回值为影响的条数
所以在dao中声明方法时可以声明返回值为int型。
2.Mybatis为类名取别名
可以一个一个的设置,也可以批量设置
一个个的设置
<typeAlias>
<typeAlias alias="" type="">
<typeAlias alias="" type="">
<typeAlias>
批量设置
批量给指定包中的所有类设置别名,别名名称:类名(首字母小写)
<typeAlias>
<package name="cn.soft.ssm.po"/>
<typeAlias>
3.Mybatis的Mapper.xml文件取别名
方法一:一个个的设置
<mappers>
<mapper resource="/ / /xxMapper.xml"
</mappers>
方法二、批量设置
使用????????????
分享到:
相关推荐
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC ...通过阅读这份“mybatis笔记”,你可以更深入地了解如何使用 MyBatis 进行数据访问,提升你的开发效率。
mybatis笔记
### MyBatis基础知识与应用详解 #### 一、MyBatis概述 MyBatis是一个优秀的持久层框架,它简化了Java应用程序与关系型数据库交互的复杂性。原名为iBatis,起初作为Apache的一个开源项目,后于2010年迁移到Google ...
本笔记基于狂神说的讲解,将全面解析Mybatis的核心概念、使用方法以及实战技巧。 1. **Mybatis概述** Mybatis 是一个轻量级的ORM(Object-Relational Mapping)框架,它允许开发者用XML或注解来配置和映射原生信息...
【狂神说】MyBatis笔记,全部,完整,格式为md
### MyBatis搭建与使用详解 #### 一、MyBatis简介 MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以通过简单...
【标题】"mybatis笔记一对应代码"涵盖了MyBatis框架的基础使用和核心概念,这是一份关于如何在实际开发中应用MyBatis的详细笔记。MyBatis是一款优秀的持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解...
Mybatis 是一款流行的开源持久层框架,源自 iBatis,主要功能是对 JDBC 的封装,提供半自动化的 ORM(对象关系映射)支持。这个框架允许开发者编写 SQL 命令来处理数据库操作,同时减轻了编写传统 JDBC 代码的负担。...
MyBatis笔记.md
【MyBatis笔记(狂神说java)】是针对Java开发者的一份详尽的MyBatis学习资料,它深入浅出地介绍了MyBatis这一流行持久层框架的使用与实践。MyBatis是一个轻量级的Java ORM(对象关系映射)框架,它解决了在Java开发...
【标题】"mybatis笔记(二)" 涉及到的是MyBatis框架在使用时的一些深入探讨,尤其是与MySQL数据库连接以及Java 1.7版本的兼容性问题。MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。这个...
在提供的压缩包`02mybatis笔记`中,很可能是对MyBatis的进一步学习和实践总结,包括了如何创建和使用Mapper,如何编写动态SQL,以及如何处理输入输出参数等内容。这份笔记对于初学者来说是非常有价值的参考资料,...
【狂神说java MyBatis 笔记】 MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解...
"java-Mybatis笔记.docx" 从标题和描述中,我们可以看出这篇笔记是关于java和Mybatis的相关知识点,下面我们将对这些知识点进行详细的解释和分析。 首先,笔记中提到使用jdbc操作数据库的痛苦经历,包括加载驱动、...
Mybatis笔记.pages
MyBatis笔记珍藏版 很容易学的 请用oneNote查看 相信对你的帮助不是一个积分就能比拟的