MyBatis(4)配置之属性优化
一:配置解析
1.核心配置文件
mybatis-config.xml
MyBatis的配置文件包含了会深深影响MyBatis行为的设置和属性信息。
MyBatis中一共有俩种事务管理器:一种JDBC(就是直接使用了JDBC的提交和回滚设置,它依赖于从数据源得到的连接来管理事务作用域)另一种MANAGED(几乎没做什么,它从来不会提交或回滚一个连接,而是让容器来管理事务的整个生命周期;默认情况下它会关闭连接,然而一些容器并不希望这样,因此需要将closeConnection属性设置为false);
数据源:dataSource元素使用标准的JDBC数据源接口来配置JDBC连接对象的资源。
2.环境配置(environments)
MyBatis可以配置成适应多种环境
不过要记住:尽管可以配置多个环境,但每个SqlSessionFactory实列只能选择一种环境
学会使用配置多套运行环境!
Mybatis默认的事务管理器就是JDBC,连接池:POOLED
3.属性(properties)
我们可以通过properties属性来实现引用配置文件
这些属性都是可外部配置且可动态替换的,即可以在典型的java属性文件中配置,亦可以通过properties元素的子元素来传递。(db.properties)
在db.properties中不需要amp与&组合代表&;
我们的xml中的标签都可以绑定其顺序。
编写一个配置文件:db.properties
在核心配置文件中引入:
可以直接引入外部文件
可以在期中增加一些属性配置
如果俩个文件有同一个字段,优先使用外部配置文件的!
引用外部文件以后的我们的数据源的书写方式:
二:类型别名(typeAliases)
类型别名是为java类型设置一个短的名字,它只和xml配置有关,存在的意义仅在于用来减少类完全限定名的允于。
typeAliases在mybatis的配置中默认是让写在第三个位置上。
也可以指定一个包名,MyBatis会在包名下搜索需要的Java Bean 比如:
在一个包中的javabean,在没有注解的情况下,会使用Bean的首字母小写的非限定类名来作为它的别名。
比如domain.blog.Author的别名为author;若有注解,则别名为其注解值。(扫描实体类的包,它的默认别名就为这个类的类名,首字母小写!)
在实体类比较少的时候,使用第一种方式
如果实体类十分多,使用第二种。
第一种可以自定义别名,第二种是不可以的(但是可以使用注解类实现)如果非要改,需要在实体上增加注解:
一些常用的java类型内建的相应的类型别名,他们都是不区分大小写的,注意对基本类型名称重复采取的特殊命名风格
二:设置settings(当我们spring以后就不需要这些了)
这是MyBatis中极为重要的调整设置,它们会改变MyBatis的运行时行为。(此处就写一个,可以去mybatis文档查看)
这个就是为什么我们在实体类中的属性idName写成驼峰式的可以数据库中的id_name对应了。
二:(其它配置)配置之映射器说明
plugins插件:mybatis-generator-core,mybatis-plus,通用mapper
这三个好像没用了
映射器(mappers)重点:
MapperRegistry:注册绑定我们的Mapper文件;
方式一:(推荐使用这种)
方式二:使用class文件绑定注册
注意点:
接口和他的Mapper配置文件必须同名!
接口和他的Mapper配置文件必须在同一个包下!
方式三:使用扫描包进行注入绑定
注意点:
接口和他的Mapper配置文件必须同名!
接口和他的Mapper配置文件必须在同一个包下!