发表于: 2017-12-31 22:22:53
1 627
今天做的事情:主要是对Mybatis遗留下来的问题做一些总结:
1、<mappers>标签中,关于添加xml文件的方式,一共有三种:url、resource、class。关于前两者都是非常熟悉普通的,并没有什么特别要注意的地方,而class字段是一种特殊的加载方式:通过mapper接口来加载。
通过mapper接口来加载的话要遵循两个个规范:
①使用的是mapper代理的方法;
②需要将mapper接口类名和mapper.xml映射文件名称保持一致,且在一个目录中
我今天特地实践了一下,将文件目录结构修改如下:
这样子看起来非常地井然有序,不过,仅仅是这样子依旧存在有问题。这是一个比较致命的陷阱:可以说是Maven项目(idea?)的一个缺陷:那就是接口的xml文件这样子是无法被识别,自然也不会产生编译的!其实解决问题的方式很简单,我昨天的日报中最后附上了一个链接,关于解决BindingException异常的一篇博文。它的第五条提供了一个解决方式,也就是在“pom.xml”中显式地添加需要编译的文件:
其<include>标签内的“**/*.xml”是一个正则表达式,表示directory下任意层次文件夹下的xml文件。通过添加这段话,可以顺利地解决xml文件找不到的错误。
2、关于properties文件。
根据网上的教程,我也注意到了全局配置mybatis-config.xml中的一些问题:就是把一些东西写死了,也就是所谓的“硬编码”,所谓的“url”等属性最好单独拎出来放在一个统一的properties文件中管理,也方便其他文件继续引用:
当然,还是需要在“mybatis”的<configuation>标签下显式配置:
<properties resource="db.properties"></properties>
然后对应的部分改成:
这样子就使得修改设置非常的方便、安全了。除了“db.properties”,还有一个属性文件,是关于log4j的,我今天专门去学习了一下。因为mybatis的好几个依赖包都是关于日志的,暗灭老大也说过“没用log4j写出来的代码都只能是玩儿”,所以我今天把前面几天欠下来的“log4j.properties”补上了:
log4j日志输出格式一览:
%c 输出日志信息所属的类的全名
%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-MM-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
%f 输出日志信息所属的类的类名
%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
%m 输出代码中指定的信息,如log(message)中的message
%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
%r 输出自应用启动到输出该日志信息所耗费的毫秒数
%t 输出产生该日志事件的线程名
3.关于代理映射resultmap
这一部分的内容我会在实战任务一的过程中展开,先附上我学习过的两个网址:
http://www.cnblogs.com/shanheyongmu/p/5849417.html
http://blog.csdn.net/u012702547/article/details/54599132
明天要做的事情:这两天要处理事情、收拾东西,然后去修真院上海分院线下学习,尽量安排时间学习吧。
今天的收获:学习了输入输出映射和动态sql语句 学习了log4j
评论