发表于: 2018-10-19 19:54:16
2 406
一、今天完成的任务
1、整理Task1_mybatis
要求一个项目里包含注解方式与xml配置文件方式。
修改peoplemapper.xml文件:
添加单元测试:
2、优化MyBatis配置文件中的配置
之前我是将连接数据库的配置信息写在了MyBatis的conf.xml文件中,如下:
其实我们完全可以将数据库的连接配置信息写在一个properties文件中,然后在conf.xml文件中引用properties文件,具体做法如下。
连接数据库的配置单独放在一个properties文件中:
在MyBatis的conf.xml文件中引用db.properties文件,如下:
真是太坑爹了,修改包名之后一定注意xml文件中的类名,有可能编译器不会标红,但就是死活跑不出来:
但是我修改了包名:
下次一定要注意!!!
运行添加方法:
输出显示成功,数据库中却查不到该数据,发现是没有提交事务。
小结:一定要执行session.commit提交事务,数据库中的内容才会改变。出现这个问题的原因是单元测试中忘了加,之前main方法里有这条语句,当时是没有问题的。
一直以来有个疑惑,那就是实际开发当中mybatis注解与xml方式如何取舍,下面的博客写的很好:
https://www.cnblogs.com/java-zhao/p/5120792.html
。
二、明天的计划
整理深度思考,完善task1.
三、遇到的问题
一定要执行session.commit提交事务,数据库中的内容才会改变。
四、收获
一直以来有个疑惑,那就是实际开发当中mybatis注解与xml方式如何取舍,原来实际开发中Mybatis注解与xml并用:
xml使用场景(3个):
条件不定的查询
增加对象返回自增主键
在一个Mapper接口中,出现多个select查询(>=3个),且每个查询都需要写相同的返回@Results内容(这一部分内容通常很多),这样的话,为了使Mapper接口比较整洁,重复代码比较少,我们会将这些select方法的具体实现写在xml文件中,因为在xml文件的顶部我们就会配置与注解@Results异曲同工的东西。(当然,这一点如果嫌配置xml麻烦,这一点可忽略)
注意:前两条是硬性的,是注解所解决不了的,而第三条只是建议。
除了以上这三条之外,其他的都使用去注解就好。
评论