摘要: 标准日志工厂:STDOUT_LOGGING 通过配置mybaits-config.xml → <settings/> → <setting name="logImpl" value="STDOUT_LOGGING"/> <settings> <setting name="logImpl" value 阅读全文
posted @ 2022-06-15 23:03 Epiphany8Z 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 当我们的数据库字段和实体类字段没有保持一直时,会发生查询到某些字段为空的情况。 这时,就要用到ResultMap了。 Demo: 1. User表 2. User.java package org.zx.pojo; public class User { private long id; priva 阅读全文
posted @ 2022-06-15 20:56 Epiphany8Z 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 理解我们之前讨论过的不同作用域和生命周期类别是至关重要的,因为错误的使用会导致非常严重的并发问题。 提示:对象生命周期和依赖注入框架 依赖注入框架可以创建线程安全的、基于事务的 SqlSession 和映射器,并将它们直接注入到你的 bean 中,因此可以直接忽略它们的生命周期。 如果对如何通过依赖 阅读全文
posted @ 2022-06-15 19:52 Epiphany8Z 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 映射器(mappers) 既然 MyBatis 的行为已经由上述元素配置完了,我们现在就要来定义 SQL 映射语句了。 但首先,我们需要告诉 MyBatis 到哪里去找到这些语句。 在自动查找资源方面,Java 并没有提供一个很好的解决方案,所以最好的办法是直接告诉 MyBatis 到哪里去找映射文 阅读全文
posted @ 2022-06-15 15:38 Epiphany8Z 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 数据库厂商标识(databaseIdProvider) MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId 属性。 MyBatis 会加载带有匹配当前数据库 databaseId 属性和所有不带 databaseId 属性的语句。 如果同 阅读全文
posted @ 2022-06-15 15:37 Epiphany8Z 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 环境配置(environments) MyBatis 可以配置成适应多种环境,这种机制有助于将 SQL 映射应用于多种数据库之中, 现实情况下有多种理由需要这么做。例如,开发、测试和生产环境需要有不同的配置;或者想在具有相同 Schema 的多个生产数据库中使用相同的 SQL 映射。还有许多类似的使 阅读全文
posted @ 2022-06-15 15:36 Epiphany8Z 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 插件(plugins) MyBatis 允许你在映射语句执行过程中的某一点进行拦截调用。默认情况下,MyBatis 允许使用插件来拦截的方法调用包括: Executor (update, query, flushStatements, commit, rollback, getTransaction 阅读全文
posted @ 2022-06-15 15:35 Epiphany8Z 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 对象工厂(objectFactory) 每次 MyBatis 创建结果对象的新实例时,它都会使用一个对象工厂(ObjectFactory)实例来完成实例化工作。 默认的对象工厂需要做的仅仅是实例化目标类,要么通过默认无参构造方法,要么通过存在的参数映射来调用带有参数的构造方法。 如果想覆盖对象工厂的 阅读全文
posted @ 2022-06-15 15:35 Epiphany8Z 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 类型处理器(typeHandlers) MyBatis 在设置预处理语句(PreparedStatement)中的参数或从结果集中取出一个值时, 都会用类型处理器将获取到的值以合适的方式转换成 Java 类型。下表描述了一些默认的类型处理器。 提示 从 3.4.5 开始,MyBatis 默认支持 J 阅读全文
posted @ 2022-06-15 15:34 Epiphany8Z 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 类型别名(typeAliases) 类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。例如: <typeAliases> <typeAlias alias="User" type="com.zx.pojo.User"/> </typeAliases 阅读全文
posted @ 2022-06-15 15:33 Epiphany8Z 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 设置(settings) 这是 MyBatis 中极为重要的调整设置,它们会改变 MyBatis 的运行时行为。 下表描述了设置中各项设置的含义、默认值等。 设置名 描述 有效值 默认值 cacheEnabled 全局性地开启或关闭所有映射器配置文件中已配置的任何缓存。 true | false t 阅读全文
posted @ 2022-06-15 15:32 Epiphany8Z 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 属性(properties) 这些属性可以在外部进行配置,并可以进行动态替换。你既可以在典型的 Java 属性文件(config.properties)中配置这些属性,也可以在 properties 元素的子元素中设置。例如: <properties resource="org/mybatis/ex 阅读全文
posted @ 2022-06-15 15:05 Epiphany8Z 阅读(888) 评论(0) 推荐(0) 编辑
摘要: 配置的结构树:(在xml中必须有序书写) configuration(配置) properties(属性) settings(设置) typeAliases(类型别名) typeHandlers(类型处理器) objectFactory(对象工厂) plugins(插件) environments( 阅读全文
posted @ 2022-06-15 14:56 Epiphany8Z 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 一、参数类型Map 1. UserMapper接口 public User getById2(Map map); public Integer updateById2(Map map); 2. UserMapper.xml <!--map作为参数--> <select id="getById2" p 阅读全文
posted @ 2022-06-15 14:22 Epiphany8Z 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1. UserMapper接口 public interface UserMapper { public List<User> getList(); public User getById(Integer id); public Integer insertOne(User user); publi 阅读全文
posted @ 2022-06-15 13:48 Epiphany8Z 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 流程:搭建环境->导入MyBaits->编写代码->测试 一、搭建环境 新键数据库及user表,并插入几条数据 CREATE DATABASE MyBaits; USE MyBaits; CREATE TABLE `user`( `id` INT UNSIGNED AUTO_INCREMENT, ` 阅读全文
posted @ 2022-06-15 01:10 Epiphany8Z 阅读(20) 评论(0) 推荐(0) 编辑