核心配置文件
- mybatis-config.xml
- Mybatis 的配置文件包含了会深深影响 Mybatis 行为的设置和属性信息
- 核心配置文件中的标签必须按照下图的顺序书写
- 可以通过 properties 属性来实现引用配置文件
- 这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件中配置这些属性,也可以在 properties 元素的子元素中设置
driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis?userSSL=true&userUnicode=true&characterEncoding=utf-8 username=root password=123456将配置文件引入核心配置文件
properties 标签中也可以增加一些属性配置
如果内外配置文件有相同一个字段,优先使用外部配置文件的字段
设置(settings)- 这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为
- 相对重要的三个设置
日志工厂
- 如果一个数据库 *** 作出现了异常,日志是最好的排错助手
- 在 Mybatis 中具体使用哪一个日志实现,在设置中设定
SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING
LOG4J- 通过使用 LOG4J,我们可以控制日志信息输送的目的地是控制台,文件,GUI 组件等
- 可以控制每一条日志的输出格式
- 通过定义每一条日志信息的级别,能够更加细致的控制日志的生成过程
- 通过一个配置文件来灵活地进行配置,不需要修改应用的代码
log4j log4j1.2.17 compile
#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码 log4j.rootLogger=DEBUG,console,file #控制台输出的相关设置 log4j.appender.console = org.apache.log4j.ConsoleAppender log4j.appender.console.Target = System.out log4j.appender.console.Threshold=DEBUG log4j.appender.console.layout = org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=[%c]-%m%n #文件输出的相关设置 log4j.appender.file = org.apache.log4j.RollingFileAppender log4j.appender.file.File=./log/yqly.log log4j.appender.file.MaxFileSize=10mb log4j.appender.file.Threshold=DEBUG log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n #日志输出级别 log4j.logger.org.mybatis=DEBUG log4j.logger.java.sql=DEBUG log4j.logger.java.sql.Statement=DEBUG log4j.logger.java.sql.ResultSet=DEBUG log4j.logger.java.sql.PreparedStatement=DEBUG
STDOUT_LOGGING
在类中使用 LOG4J 时,需要导入包 import org.apache.log4j.Logger
static Logger logger=Logger.getLogger(UserMapperTest.class);
日志级别
logger.info(); logger.debug(); logger.error();类型别名(typeAliases)
- 类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写
-
直接给实体类起别名
在实体类少的时候使用
-
扫描指定包下的所有 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名比如 com.yqly.pojo.User 的别名为 user;若有注解(@Alias(“注解值”)),则别名为其注解值
在实体类多的时候使用
环境配置(environments)
- MyBatis 可以配置成适应多种环境
- 尽管可以配置多个环境,但每个 SqlSessionFactory 实例只能选择一种环境
事务管理器(transactionManager)
在 MyBatis 中有两种类型的事务管理器(也就是 type="[JDBC|MANAGED]")
JDBC(默认使用)- 这个配置直接使用了 JDBC 的提交和回滚设施,它依赖从数据源获得的连接来管理事务作用域
- 这个配置几乎没做什么。它从不提交或回滚一个连接,而是让容器来管理事务的整个生命周期(比如 JEE 应用服务器的上下文)。 默认情况下它会关闭连接。然而一些容器并不希望连接被关闭,因此需要将 closeConnection 属性设置为 false 来阻止默认的关闭行为
- 作用:连接数据库
- 大多数 MyBatis 应用程序会按示例中的例子来配置数据源。虽然数据源配置是可选的,但如果要启用延迟加载特性,就必须配置数据源。
有三种内建的数据源类型(也就是 type="[UNPOOLED|POOLED|JNDI]")
UNPOOLED- 这个数据源的实现会每次请求时打开和关闭连接。虽然有点慢,但对那些数据库连接可用性要求不高的简单应用程序来说,是一个很好的选择。 性能表现则依赖于使用的数据库,对某些数据库来说,使用连接池并不重要,这个配置就很适合这种情形
- 这种数据源的实现利用“池”的概念将 JDBC 连接对象组织起来,避免了创建新的连接实例时所必需的初始化和认证时间。 这种处理方式很流行,能使并发 Web 应用快速响应请求
- 这个数据源实现是为了能在如 EJB 或应用服务器这类容器中使用,容器可以集中或在外部配置数据源,然后放置一个 JNDI 上下文的数据源引用
- 用于注册绑定我们的 mapper 文件
- 使用相对于类路径的资源引用
-
使用映射器接口实现类的完全限定类名
接口和他的 Mapper 配置文件必须同名
接口和他的 Mapper 配置文件必须在同一个包下
-
将包内的映射器接口实现全部注册为映射器
接口和他的 Mapper 配置文件必须同名
接口和他的 Mapper 配置文件必须在同一个包下
其他配置
- typeHandlers(类型处理器)
- objectFactory(对象工厂)
- plugins(插件)
- mybatis-generator-core
- mybatis-plus
- 通用 mapper
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)