maven的setting.xml
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
2、mapper-locations指定mapper.xml的路径
type-aliases-package 指定POJO扫描包来让mybatis自动扫描到自定义POJO
数据源:如何获取mysql的数据库地址。
执行语句:如何将我们在mybatis配置文件中生成的sql语句映射到mysql中。
操作者:连接mysql数据库,执行sql语句,得到sql语句的查询结果。好比打开mysql图形化工具,Navicat for MySQL,首先连接到需要的数据库,编写sql语句,执行语句,并得到结果。
runtime表示被依赖项目无需参与项目的编译,不过后期的测试和运行周期需要其参与。与compile相比,跳过编译而已,说实话在终端的项目(非开源,企业内部系统)中,和compile区别不是很大。比较常见的如JSR×××的实现,对应的API jar是compile的,具体实现是runtime的,compile只需要知道接口就足够了。oracle jdbc驱动架包就是一个很好的例子,一般scope为runtime。另外runtime的依赖通常和optional搭配使用,optional为true。我可以用A实现,也可以用B实现。
-
provided意味着打包的时候可以不用包进去,别的设施(Web Container)会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。相当于compile,但是在打包阶段做了exclude的动作。
- mapper中的namespace是用来绑定dao接口的,即面向接口编程。
- 当你的namespace绑定接口后,你可以不用写接口实现类,mybatis会通过该绑定自动帮你找到对应要执行的SQL语句
- 在同一次请求中不允许出现相同名称的方法、类和常量,但是在某些特殊的应用中必须要使用相同名称的方法、类和常量,需要把他们放到不同的空间里,这个空间就是命名空间。
- 命名空间主要是为了解决命名冲突问题
- 确保方法名称的唯一性,如果两个xml文件中的方法名一样,那么就用namespace区分。