【MyBatis-05】mybatis开发mapper的方式
来源:互联网 发布:mac c语言 软件 编辑:程序博客网 时间:2024/05/19 20:46
上一节讲了基于dao的开发方式,相对比较麻烦。
这一节我们讲基于mapper的开发方式。
也就是开发mapper接口的方式。
这样我们首先明白第一点,有mapper接口文件。
基于mapper的开发方式有一些约定,遵守约定可以让开发变得简单,我们崇尚约定大于配置的思想。
约定如下:
1、mapper接口的全限定名要和mapper映射文件的namespace值一致。
2、mapper接口的方法名称要和mapper映射文件的statement的id一致。
3、mapper接口的方法参数类型要和mapper映射文件的statement的parameterType的值一致,而且它的参数是一个。
4、mapper接口的方法返回值类型要和mapper映射文件的statement的resultType的值一致。
让我们来一个demo吧,和上一节重复的部分我就不专门讲了。
1、创建项目、创建代码包及lib文件夹、导入jar包,创建pojo类,结果如下:
2.创建mapper接口文件
package com.cm.mybatis.mapper;import java.util.List;import com.cm.mybatis.pojo.ClassInfo;public interface ClassInfoMapper {ClassInfo findClassInfoById(int classid);List<ClassInfo> findClassInfosByName(String classname);void insertClassInfo(ClassInfo info);}
3.在config下创建mapper目录然后创建ClassInfoMapper.xml(这是mybatis的命名规范,当然,也不是必须是这个名称)
4.将mapper文件注入到全局配置文件中
5.编写测试类
package com.cm.mybaits.test;import java.io.IOException;import java.io.InputStream;import java.util.Date;import java.util.List;import java.util.Random;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import org.junit.Before;import org.junit.Test;import com.cm.mybatis.mapper.ClassInfoMapper;import com.cm.mybatis.pojo.ClassInfo;public class ClassInfoTest {private SqlSessionFactory sqlSessionFactory;ClassInfoMapper mapper;@Beforepublic void beforeLoad() throws IOException {// 全局配置文件的文件名String resource = "SqlMapConfig.xml";// 将全局配置文件加载到Stream中InputStream is = Resources.getResourceAsStream(resource);// 根据全局配置文件创建SqlSessionFactorysqlSessionFactory = new SqlSessionFactoryBuilder().build(is);SqlSession sqlSession=sqlSessionFactory.openSession();mapper=sqlSession.getMapper(ClassInfoMapper.class);}@Testpublic void findClassInfoById() {ClassInfo info=mapper.findClassInfoById(1);System.out.println(info);}@Testpublic void findClassInfosByName() {List<ClassInfo> infos = mapper.findClassInfosByName("2002");for (ClassInfo info : infos) {System.out.println(info);}}@Testpublic void insertClassInfo() {ClassInfo info = createClassInfo();mapper.insertClassInfo(info);System.out.println(info);}private ClassInfo createClassInfo() {ClassInfo info = new ClassInfo();info.setClasslocation("咱家的事情" + new Random().nextInt());info.setClassname("新班级名称" + new Date());info.setMemo("Memo:" + new Random().nextInt());return info;}}
6.我们看看自己写的方法,是不是都非常简单
7.我们执行下看看结果。
8.是不是比dao方法简单多了,只要遵照约定,简单开发mapper接口类和mapper.xml文件即可。
阅读全文
0 0
- 【MyBatis-05】mybatis开发mapper的方式
- Mybatis Mapper代理的开发方式
- mybatis开发Mapper代理方式
- mybatis的mapper配置方式
- MyBatis的Mapper代理开发方式的简单使用
- mybatis入门--mapper代理方式开发
- MyBatis中Mapper代理开发方式
- 框架学习系列 mybatis 第九篇 mybatis中Mapper代理的开发方式
- mybatis的4种Mapper注册方式
- Mybatis的使用(mapper接口方式)
- Mybatis(Mapper映射开发)
- Mybatis框架学习(二)—DAO开发方式和Mapper代理的开发方式
- mybatis--开发Dao--原始dao方式和Mapper代理方式
- mybatis教程--原始方式和mapper方式开发dao详解
- mybatis基于mapper代理的开发
- Mybatis总结(二):开发Dao的方式和Mapper的方式
- MyBatis之 mapper代理方式
- mybatis的mapper
- MFC一一关于多字符集下界面样式变更问题
- Ubuntu系统安装anaconda
- Sublime Text3 终于更新了!!(附最新版注册码)
- Hinton号召AI革命:重头再来;李飞飞等赞成:深度学习不是唯一
- java学习笔记
- 【MyBatis-05】mybatis开发mapper的方式
- 我的洛谷团队
- jquery 包含指定元素选择
- maven的setting配置位置
- [bzoj4813][树形dp]小Q的棋盘
- centos7 上不去网解决办法
- 转发和重定向的区别
- 周易六十四卦——水风井卦
- Unity内实现倒计时组件