发表于: 2019-11-05 23:17:53
1 982
今天完成的事情:
修改了一个mybatis的BUG
看《深入浅出mybatis》
mybatis的架构
1.核心配置文件mybatis-config.xml
配置一些共用的全局配置东西
数据源,缓存,日志,配置mapper文件路径,等等
2.映射文件XXXMapper.xml
配置sql语句,输入参数类型 返回结果集类型
3.SqlSessinoFactory(会话工厂)
通过加载核心配置文件的内容来创建会话(sqlSession)
4.sqlSession(会话)
通过会话中的方法来调用映射文件中的sql语句,就相当于可以执行sql语句
5.Executor执行器(MyBatis框架内部的东西,框架会自动调用)
分基本执行器和缓冲执行器
当我们执行SqlSession的时候,框架内部就会自动调用Executor
6.MapperStatement:
内部封装对象
抽取映射文件xml中的内容(原本是string字符串)
抽取当中的sql语句,参数 返回集 转换成相对应的java对象
mybatis流程
学习junit并测试
对此进行总结:
1.测试方法上必须使用@Test
2.测试方法必须使用 public void进行修饰
3.新建一个源代码目录来存放测试代码
4.测试类的包应该和被测试类的包一样
5.测试单元中的每个方法一定要能够独立测试,其方法不能有任何依赖
---
1.Failure 一般由测试单元使用断言方法判断失败引起的,这个报错,说明测试点发现了问题,即程序输出的结果和我们预期的不一样
2.error 是由代码异常引起的,它可以产生代码本身的错误,也可以是测试代码中的一个隐藏bug
!测试用例不是用来证明你是对的,而是用来证明你没错
---
关于Junit运行流程
@BeforeClass
修饰的方法会在所有方法被调用前执行,且该方法时静态的,所以当测试类被加载后就接着运行它,而且在内存中他只会存在一份实例,他比较适合加载配置文件(针对所有测试,只执行一次 )
@AfterClass
所修饰的方法通常用来对资源管理,如关闭数据库连接(针对所有测试,只执行一次 )
@Before和@After 会在每个测试方法前后各执行一次
@Test:测试方法,在这里可以测试期望异常和超时时间
@Ignore:忽略的测试方法
————————————————
测试我的mybatis
PersonMapper personMapper=sqlSession.getMapper(PersonMapper.class);
Person person=new Person();
person.setSex("女");
person.setName("王全真性感");
personMapper.updatePerson(person);
sqlSession.commit();
sqlSession.close();
}
@Test
public void getPerson(){
SqlSession sqlSession=MybatisTools.getSession();
PersonMapper personMapper=sqlSession.getMapper(PersonMapper.class);
Person person=new Person();
person.setId(666666);
person=personMapper.getPerson(person.getId());
System.out.println(person);
sqlSession.commit();
sqlSession.close();
}
@Test
public void getAllPerson(){
SqlSession sqlSession=MybatisTools.getSession();
PersonMapper personMapper=sqlSession.getMapper(PersonMapper.class);
List<Person>personList= personMapper.getAllPerson();
for(Person person:personList){
System.out.println(person);
}
sqlSession.commit();
sqlSession.close();
}
明天计划的事情:学习spring,自己写BEAN
遇到的问题:java.io.IOException: Could not find resource mapping/UserMapper.xml IDEA中MAVEN不编译SRC 要该POM配置文件
收获:mybatis的运行流程 功能架构 能编写测试类
电脑升级了(加了固态和内存条)
评论