核心配置文件
- mybatis-confifig.xml 系统核心配置文件
- MyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息。
- 能配置的内容如下:
Properties优化
数据库这些属性都是可外部配置且可动态替换的,既可以在典型的
Java
属性文件中配置,亦可通过 properties 元素的子元素来传递。
我们来优化我们的配置文件
第一步
;
在资源目录下新建一个
db.properties
![](https://img-blog.csdnimg.cn/20210618173941313.png)
第二步
:
将文件导入
properties
配置文件
这里注意在配置文件中每一个资源都有自己的位置,放在其他位置就会报错,如下:
![](https://img-blog.csdnimg.cn/20210618174239108.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phdmFfaXNfTk9fMQ==,size_16,color_FFFFFF,t_70)
将位置放对并且导入资源,更改配置就可以了
![](https://img-blog.csdnimg.cn/2021061817452839.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phdmFfaXNfTk9fMQ==,size_16,color_FFFFFF,t_70)
这样同样可以查出来
![](https://img-blog.csdnimg.cn/20210618180143689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phdmFfaXNfTk9fMQ==,size_16,color_FFFFFF,t_70)
那么我们还可以使用这样的方法:在配置文件中写一部分在这里写一部分
![](https://img-blog.csdnimg.cn/20210618180525790.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phdmFfaXNfTk9fMQ==,size_16,color_FFFFFF,t_70)
如果这里的密码错误而外部文件的密码正确则不会报错,因为他优先使用外部文件的资源
typeAliases优化
类型别名是为
Java
类型设置一个短的名字。它只和
XML
配置有关,存在的意义仅在于用来减少类完全限定名的冗余。
位置别放错,放在<properties>的下面
![](https://img-blog.csdnimg.cn/20210618181408258.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0phdmFfaXNfTk9fMQ==,size_16,color_FFFFFF,t_70)
当这样配置时,
user
可以用在任何使用
com.cc.pojo.User
的地方。
也可以指定一个包名,
MyBatis
会在包名下面搜索需要的 Java Bean
在没有注解的情况下,会使用
Bean
的首字母小写的 非限定类名来作为它的别名。
若有注解,则别名为其注解值。见下面的例子:
这里原来是使用com.cc.pojo.User现在使用user
![](https://img-blog.csdnimg.cn/20210618181600808.png)
mappers映射器
namespace
中文意思:命名空间,作用如下:
1. namespace
和子元素的
id
联合保证唯一
,
区别不同的
mapper
2.
绑定
DAO
接口
- namespace的命名必须跟某个接口同名
- 接口中的方法与映射文件中sql语句id应该一一对应
3. namespace
命名规则
:
包名
+
类名
MyBatis
的真正强大在于它的映射语句,这是它的魔力所在。由于它的异常强大,映射器的
XML
文件就显得相对简单。如果拿它跟具有相同功能的 JDBC
代码进行对比,你会立即发现省掉了将近
95%
的代码。MyBatis
为聚焦于
SQL
而构建,以尽可能地为你减少麻烦。
![](https://img-blog.csdnimg.cn/20210618182222413.png)
![](https://img-blog.csdnimg.cn/2021061818224128.png)