发表于: 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



返回列表 返回列表
评论

    分享到