发表于: 2017-10-05 21:53:03

1 833


今天完成的事情:

1、对mybatis有了更深的了解

一、在脑海里有了mybatis的整体框架:一个实体类以及测试类和mapper文件和config.xml共同构成了mybatis的外部构型

首先一个类的编写,用于映射表。

其次配置文件的编写:在src目录下创建mybatis的主配置文件config.xml 其作用主要是提供连接数据库用的驱动,数据库名称,编码方式,账号密码

以及别名,自动扫描com.how2java.pojo下的类型,使得在后续配置文件mapper.xml中使用resultType的时候,可以直接使用Category,而不必写全com.how2java.pojo.Category

二、配置文件mapper.xml文件

将此文件放到类的包下即可,放到其他的地方系统找不到路径就会报错。select* from category_这里用到的sql语句,这条sql语句用id: listCategory 进行标示以供后续代码调用。resultType="Category" 表示返回的数据和Category关联起来,这里本应该使用的是 com.how2java.pojo.Category, 但是因为上一步配置了别名,所以直接使用Category就行了。

三、测试类的编写

根据配置文件config.xml文件得到了sqlSessionFactory,

String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

然后再根据sqlSessionFactory 得到session,

SqlSession session=sqlSessionFactory.openSession();

最后通过session的selectList方法,调用sql语句listCategory。listCategory这个就是在配置文件Category.xml中那条sql语句设置的id。
执行完毕之后,得到一个Category集合,遍历即可看到数据。

List<Category> cs = session.selectList("listCategory");
for (Category c : cs) {
System.out.println(c.getName());

}

以上测试类的这些编写都是mybatis的不变套路,几乎每一个mybatis都会上面的代码的。

四、与DBC访问数据库,除了需要自己写SQL之外,还必须操作Connection, Statment, ResultSet 这些其实只是手段的辅助类。 不仅如此,访问不同的表,还会写很多雷同的代码,用了Mybatis之后,只需要自己提供SQL语句,其他的工作,诸如建立连接,Statement, JDBC相关异常处理等等都交给Mybatis去做了,那些重复性的工作Mybatis也给做掉了,我们只需要关注在增删改查等操作层面上,而把技术细节都封装在了我们看不见的地方。

2、测试了在DB中断的时候,try  ...catch是否能够正常处理

当DB连接中断的时候try...catch会捕捉到异常的出现,但不会干扰系统的正常运行。


明天计划的事情:

明天计划把spring的内容巩固一下。

遇到的问题:

收获:

mybatis的基本原理:应用程序找Mybatis要数据,mbatis从数据库中找来数据,通过config.xml 定位哪个数据库,通过Mapper.xml执行对应的select语句,基于Mapper.xml把返回的数据库记录封装在对象中,把多个对象装在一个集合中,返回一个集合。


返回列表 返回列表
评论

    分享到