1.MyBatis(四):xml配置详解
2.mybatis和mybatis-plus配置yml的区别
3.MyBatis初始化之加载 Mapper 接口与 XML 映射文件
4.mybatis.xml常用配置详解
MyBatis(四):xml配置详解
MyBatis(四):XML配置详解
在MyBatis的配置中,通常将数据库连接信息写在硬编码的mybatis-configuration.xml文件中。为了解决这种硬编码的不便,我们可以采取以下方法: 1. 将数据库配置语句分离到独立的db.properties文件中。 2. 在mybatis-configuration.xml中通过<properties>标签加载db.properties文件,实现配置的企业源码建站灵活性,当数据库需要变更时,只需修改db.properties文件即可。 加载顺序是这样的:首先读取properties文件中自定义的属性,接着读取resource路径或url路径的配置,最后是parameterType传递的属性。例如,模糊查询时,论道 源码即使参数不同,也会默认使用'root',这是因为别名的配置优先级问题。 MyBatis的别名配置可以帮助我们简化XML文件,提高开发效率。有两种设置方法:单个别名:在<configuration>标签内添加<property>,并以别名引用。
批量别名:在<configuration>中使用<typeAliases>标签,支持批量定义别名,且类名大小写不敏感。
mybatis和mybatis-plus配置yml的区别
MyBatis和MyBatis-Plus都是Java持久层框架,它们的mnn源码配置方式有一些区别。
1. 配置文件位置:
- MyBatis的配置文件通常是一个XML文件,可以通过`SqlSessionFactoryBuilder`类的`build`方法加载配置文件。
- MyBatis-Plus的配置文件是一个YAML(YAML Ain't Markup Language)文件,通常命名为`application.yml`,可以通过Spring Boot的`application.properties`或`application.yml`文件中的`mybatis-plus`前缀进行配置。
2. 配置属性命名:
- MyBatis的配置属性命名方式是通过XML标签进行配置,例如`property name="driver" value="com.mysql.jdbc.Driver" /`。
- MyBatis-Plus的配置属性命名方式是通过YAML的键值对进行配置,例如`mybatis-plus.mapper-locations: classpath*:mapper/*.xml`。
3. 配置项的扩展:
- MyBatis的配置项相对较少,可以通过自定义插件来扩展功能。
- MyBatis-Plus提供了更多的KeUserCallBack源码配置项,并且还提供了一些内置的功能,例如自动填充、分页插件、性能分析插件等。
总的来说,MyBatis和MyBatis-Plus的配置方式有一些差异,MyBatis-Plus更加便捷,提供了更多的功能和配置项,可以加快开发效率。但是,具体使用哪种配置方式还需要根据具体的项目需求和个人喜好来决定。
MyBatis初始化之加载 Mapper 接口与 XML 映射文件
MyBatis的spyhunter源码初始化过程涉及多个步骤,其中核心环节是加载Mapper接口与XML映射文件。这个过程复杂且重要,因此我们将它拆分为几个模块逐一分析。首先,解析mybatis-config.xml配置文件,接着进入关键部分:解析Mapper接口与XML映射文件。
解析XML映射文件时,主要涉及org.apache.ibatis.builder和org.apache.ibatis.mapping包下的类,生成的对象表示了映射关系。在初始化(二)中,我们关注XMLConfigBuilder的mapperElement()方法,它会遍历配置文件中的mapper元素,根据不同的属性值,如resource、url和class,来进行相应的处理。例如,遇到mapper标签时,会根据资源引用、URL或接口类,创建XMLMapperBuilder并执行解析。
Mapper接口的加载是通过MapperRegistry进行的,首先扫描指定包下的接口,然后添加到MapperRegistry的注册表中。如果接口已存在,会抛出异常。接着,创建MapperProxyFactory动态代理,解析接口的注解和对应的XML文件,确保缓存和命名空间的处理。
MapperAnnotationBuilder类负责解析Mapper接口的注解,以及与XML文件的关联。构造函数中,它会根据接口类加载XML资源,然后解析接口的方法注解,最后处理缓存和引用其他命名空间的注解。
总的来说,MyBatis在初始化时,通过一系列复杂步骤加载Mapper接口和XML映射文件,构建起数据库操作的映射关系,确保应用程序可以有效地执行SQL语句。每个环节都紧密相连,共同构建了MyBatis的核心功能。
mybatis.xml常用配置详解
mybatis.xml是MyBatis的核心配置文件,它对框架的运行环境、事务管理、数据源设置以及性能优化参数等进行全局配置。以下是关键配置的详细解析:
1.5.1 数据源与事务管理
transactionManager元素负责配置事务管理,dataSource元素则用于设置数据源,type属性通常为pooled,指示使用数据库连接池。同时,通过property元素可以配置连接池的属性信息。
1.5.2 全局参数与别名
settings元素用于调整MyBatis的运行时设置,如启用二级缓存和延迟加载。typeAliases元素用于定义类型别名,减少Java类型的全限定名,提高开发效率。
1.5.2.1 单个和批量别名定义
单个类的别名通过在mybatis.xml中指定,而批量定义则通过package元素扫描指定包中的类,别名即为类名。
1.5.3 类型处理器
typeHandlers用于处理预处理语句和结果集中值的转换,MyBatis内置的类型处理器能满足大部分需求,自定义处理器在必要时使用。
1.5.4 mapper映射配置
使用resource属性加载mapper映射文件,通过class属性加载则较少使用,主要用于了解。通过package元素可批量加载接口所在包下的mapper映射,但需遵循接口规范。