我的第一个Mybatis!

来源:互联网 发布:java认证培训学校 编辑:程序博客网 时间:2024/06/08 17:46


第一个MyBatis程序

1.  定义ID不要定义int,定义成包装类型interger,因为这样可以进行为null的判断。

2.  为什么实体类中构建一个无参构造器?

             试想一下,假如没有无参构造器,每new一个对象都要传入参数,并且规定类必须有属性,这样降低了类的灵活性,也可以想一下,方法里面不也是可以不传入参数的么。

3.  定义一个代参构造器,为什么要构造一个无参构造器?(shift+alt+S)

             a.  若当前实体类有可能作父类,那么创建子类对象时,JVM会调用其父类的无参构造器。

             b.  若使用了Spring框架,那么要求Spring容器所管理的类,必须要有无参构造器。

4.  为什XML中需要一个约束文件DTD或者XXD文件?

           为多用的标签需要去约束,只有这样才不会乱来。无规矩不成方圆嘛!

5.  代码不是自上而下的打代码,而是应该用到这个代码了,我们再去写!

6.  为什么不同的日志技术可以运用到框架中?

           其中一个框架日志适配器Slf4j。

7.  工具类中的异常一般是要抛出给调用者的,不应try catch。


上次问题遗留解决:1.inputstream为什么不用关闭?

                              因为TRUE与false,因为SqlSessionFactorybuilder的方法自带有输入流的关闭!

                           2.关于上次对SqlSession不太理解?然后为什么SQLSession为什么不需要回滚?

                              我认为它在堆内存中的一块空间,其放着Configuration、executor、dirtyautoCommit成员变量值。

                           不需要回滚是因为其内部运行过程中,它的数值一直为true,而并没有变脏!所以不需要回滚或者关闭则可以正常运行!