MyBatis之sql映射文件
MyBatis的强大之处就在于它的sql映射文件,下面介绍sql映射文件的几个顶级元素配置
1)mapper:映射文件的根元素节点,只有一个namespace(命名空间)
* 用于区分不同的mapper,全局唯一
* 绑定dao接口,即面向接口编程, 当,namespace绑定某一接口之后,可以不用写该接口的实现类,MyBatis会通过接口的完整的限定名查找到对应的mapper配置来执行sql语句,应此namespace的命名必须要跟接口同名。
2)cache:配置给定的命名空间的缓存
3)cache——ref:从其他冥冥空间的引用缓存配置
4)resultMap:用来描述数据库结果集和对象的对应关系
5) sql : 可以重用的sql块,也可以被其他语句引用
6) insert:映射插入语句
7) update :映射更新语句
8) delete :映射删除语句
9)select :映射查询语句
1.使用select完成单条件查询
1〉dao曾方法
public List<User> findAll();
2〉xml文件
<select id="findAll" resultType="User">SELECT * FROM user </select>
3〉测试方法
public void findAll(){Logger logger = Logger.getLogger(UserTest.class);SqlSession sqlSession = null;try {//3.创建sqlSessionsqlSession = MyBatisUtil.createSqlSession();List<User> list = sqlSession.getMapper(IUserDao.class).findAll();for (User user : list){logger.debug("list---------->"+user.getUserName()+"\t"+user.getUserCode());}} catch (Exception e) {e.printStackTrace();}finally {MyBatisUtil.closeSqlSession(sqlSession);}}
2.使用select完成多条件查询
1〉dao层方法
//多条件查询public List<User> findListByManneyContent(Map<String, Object> map);
2〉xml文件的sql语句
<!--多条件查询--><select id="findListByManneyContentIndex" resultType="User">SELECT * FROM user where userName LIKE CONCAT('%',#{0},'%') AND id>=#{1}</select>
3〉测试方法
//多条件查询,查询id〉2的员工姓名 @Testpublic void findListByManneyContentIndex(){SqlSession sqlSession = null;try {sqlSession = MyBatisUtil.createSqlSession();List<User> list = sqlSession.getMapper(IUserDao.class).findListByManneyContentIndex("测",2);for (User user : list) {System.out.println("user-------->"+user.getUserCode()+"\t" +user.getUserName());}} catch (Exception e) {e.printStackTrace();}finally {MyBatisUtil.closeSqlSession(sqlSession);}}
3.使用insert完成增加功能
1〉dao层方法
//增加的方法public void add(Role role);
2〉xml配置的sql语句
<insert id="add" parameterType="Role"> INSERT INTO role(roleCode,roleName) VALUES (#{roleCode},#{roleName})</insert>
3〉测试方法
//增加的方法 @Testpublic void addTest(){SqlSession sqlSession = null;Role role = new Role();role.setRoleCode("SALE");role.setRoleName("销售");try {sqlSession = MyBatisUtil.createSqlSession();sqlSession.getMapper(RoleMapper.class).add(role);sqlSession.commit();} catch (Exception e) {e.printStackTrace();sqlSession.rollback();}finally {MyBatisUtil.closeSqlSession(sqlSession);}}
4.使用update完成修改功能
1〉dao层方法
//修改的方法public int update(User user);
2〉xml配置文件的sql语句
<update id="update" parameterType="User">UPDATE user SET userCode=#{userCode},userName=#{userName} WHERE id=#{id}</update>
3〉测试方法
@Testpublic void update(){Logger logger = Logger.getLogger(UserTest.class);SqlSession sqlSession = null;User user = new User();user.setId(6);user.setUserCode("test06");user.setUserName("张三");try {sqlSession = MyBatisUtil.createSqlSession();sqlSession.getMapper(IUserDao.class).update(user);sqlSession.commit();} catch (Exception e) {e.printStackTrace();sqlSession.rollback();}finally {MyBatisUtil.closeSqlSession(sqlSession);}}
5.使用delete完成删除功能
1〉dao层方法
//删除的方法public void delete(Role role);
2〉xml配置文件的sql语句
<delete id="delete" parameterType="Role">DELETE from role WHERE id=#{id}</delete>
3〉测试方法
//删除的方法 @Testpublic void deleteTest(){Role role = new Role();role.setId(5);SqlSession sqlSession = null;try {sqlSession = MyBatisUtil.createSqlSession();sqlSession.getMapper(RoleMapper.class).delete(role);sqlSession.commit();} catch (Exception e) {e.printStackTrace();sqlSession.rollback();}finally {MyBatisUtil.closeSqlSession(sqlSession);}}
转载于:https://www.cnblogs.com/cn-930621/p/7571954.html
MyBatis之sql映射文件相关推荐
- 关于Mybatis的SQL映射文件中in关键字的用法
有一个需求是可以选择多个设备进行删除,于是想到将多个设备id拼成字符串作为参数,以逗号隔开,如:"123,234,456". SQL如下: <delete id=" ...
- 7、mybatis中的sql映射文件详解(2)
对于初学者,如何进行mybatis的学习呢?我总结了几点,会慢慢的更新出来.首先大家需要了解mybatis是什么.用mybatis来做什么.为什么要用mybatis.有什么优缺点:当知道了为什么的时候 ...
- 6、mybatis中的sql映射文件详解(1)
对于初学者,如果进行mybatis的学习呢?我总结了几点,会慢慢的更新出来.首先大家需要了解mybatis是什么.用mybatis来做什么.为什么要用mybatis.有什么优缺点:当知道了为什么的时候 ...
- SpringBoot项目集成Mybatis Plus(四)SQL映射文件
实际使用中,都会用到自定义SQL查询语句,并且需要支持分页,因为之前在项目中配置了分页插件,所以用起来很简单. 例如,定义接口getList,接口参数为分页参数和查询条件, @RequestMappi ...
- 【java学习之路】(java框架)004.Mybatis SQL映射文件详解
02Mybatis SQL映射文件详解 在之前我们学习了mybatis的全局配置文件,下面我们开始学习mybatis的映射文件,在映射文件中,可以编写以下的顶级元素标签: cache – 该命名空 ...
- 2 MyBatis Sql映射文件
MyBatis SQL映射文件 文章目录 MyBatis SQL映射文件 1.SQL映射的XML文件 2.select条件查询 3.多条件查询 1.将条件封装成Java对象作为入参 2.将查询条件封装 ...
- Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件
封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...
- myBatis的xml映射文件中传入list集合与数组做条件
mybatis的xml映射文件中传入list集合与数组做条件 1.传list集合参数 1.1sql映射: <select id="queryDeptListByBankLevelAnd ...
- 8、mybatis中的sql映射文件详解(3)
对于初学者,如何进行mybatis的学习呢?我总结了几点,会慢慢的更新出来.首先大家需要了解mybatis是什么.用mybatis来做什么.为什么要用mybatis.有什么优缺点:当知道了为什么的时候 ...
- mapper命名规范_Mybatis系列全解(五):全网最全!详解Mybatis的Mapper映射文件
封面:洛小汐 作者:潘潘 若不是生活所迫,谁愿意背负一身才华. 前言 上节我们介绍了 < Mybatis系列全解(四):全网最全!Mybatis配置文件 XML 全貌详解 >,内容很详细( ...
最新文章
- Go 分布式学习利器(7)-- 字符串
- Jdk11,Jdk12的低延迟垃圾收集器ZGC
- 《需求工程-软件建模与分析之读书笔记之三》
- android getprop 分辨率,Android getprop 读取的属性哪里来的?
- 关闭 Visual Studio 2013 的 Browser Link 功能
- 韩研究人员声称:创造出了一块“不可破坏”的芯片!
- python控件随窗口变化而适配_Tkinter窗口/控件比例调整
- 【转】abp vNext微服务框架分析
- 【ubuntu安装交叉编译器】安装交叉编译器
- 考软考需要准备什么,需要买哪些学习资料?
- 怎么在HTML图片中加文字,html+css怎么在图片上添加文字
- 远程操作工具 Teamviewer
- 台安PLC通过手机热点远程在线模拟,远程编程,远程调试
- 基于ArcGIS软件的打开教程
- ScrollView 吸顶效果
- tv.twitch.android,Twitch智能电视客户端
- 3d可视化设备产品场景展示更加直观形象
- 面试java工程师的自我介绍
- 蓄水池采样 Reservoir Sampling
- 2016年总结赚钱的几个项目
热门文章
- 获取RenderedGeometry不对的处理
- Linux 安装 safe-rm 工具(转载)
- c++ Protobuf中set_allocated引起的double free core dump
- centos node 进程保护_NodeJs之进程守护
- 用python画明星_Python也能成为毕加索?我用Python给小姐姐画了幅油画
- : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
- java逻辑运算符的使用
- linux中逻辑块大小为,Linux 文件系统相关的基本概念
- 苹果ll是什么版本_如何鉴别自己的iPhone手机,是什么版本呢?国行,美版,还是韩版?...
- 查询mysql数据库表占用空间大小_MySQL数据库查看数据表占用空间大小和记录数...