Mybatis动态代理注意事项

0.环境

mybaits maven log4j junit mysqlconncetor



org.mybatis
mybatis
3.5.4



mysql
mysql-connector-java
8.0.19



log4j
log4j
1.2.12



org.slf4j
slf4j-api
2.0.0-alpha1


org.slf4j
slf4j-log4j12
2.0.0-alpha1



junit
junit
4.13







org.apache.maven.plugins
maven-compiler-plugin
3.1

1.8
1.8
1.8






src/main/java

**/*.xml



src/main/resources


配置文件

1.dao层只有接口没有实现类

以后不用写接口的实现类,mybatis根据配置文件和对应接口的映射文件自动生成代理类。

2.mapper文件的放置位置

映射文件与dao接口放在同一个包下,然后只需要在全局配置文件中指定接口所在的包即可,这样很方便,因为dao包中可能包含多个接口。



3.mapper映射文件中mapper节点的namespace属性

namespace属性值对应mapper节点中所有语句对应的dao层接口的全限定类名。

4.实现mapper代理

使用mapper代理的时候语句节点中的参数、返回值类型和id要和接口中的方法的参数,方法的返回值类型、方法名一致。

5.为了保证包目录下的配置文件在编译后能够发布到执行目录,所以需要指定编译后生成的文件内容。



src/main/java

**/*.xml



src/main/resources

7.别名

对于经常要用的jojo类,避免在映射文件中重复书写且全限定类名,我们在全局配置文件中添加pojo类的别名,在映射文件中需要填写此pojo类的别名的地方
都可以使用此别名。



8.在 XML 中,一些字符拥有特殊的意义

如果您把字符 "<" 放在 XML 元素中,会发生错误,这是因为解析器会把它当作新元素的开始。这样会产生 XML 错误:
为了避免这个错误,用实体引用来代替 "<" 字符,如下:在 XML 中,有 5 个预定义的实体引用:在mybatis中,只有< 和&是非法的,使用实体引用来替代他

9,对于模糊查询

一般是对于字符串来说的,可以用${属性名}或者是${value}(如果是简单类型的话,比如int,String,${value}是固定写法)。
也可以使用concat,连接参数和%。
例如concat('%' , #{username} ,'%'),多个参数的模糊查询, 可以根据参数的顺序来进行选择


`

posted @ 2020-05-17 12:15  人的梦想是不会结束的  阅读(137)  评论(0)    收藏  举报