MyBatis
浅谈MyBatis
winrh
这个作者很懒,什么都没留下…
展开
-
【Mybatis】当实体类字段是mysql关键字
字段加注解@TableField("`condition`")private String condition;原创 2021-11-02 18:45:55 · 867 阅读 · 1 评论 -
【MyBatis】数据库字段多下划线,会识别不了
比如数据库字段product_amount_1,mybatis会转为product_amount1我们需要转为productAmount1,就得在domain加mybatisplus注解 @TableField("product_amount_1") private BigDecimal productAmount1;原创 2021-09-22 17:42:10 · 1877 阅读 · 0 评论 -
【MyBatis】SpringBoot设置打印sql语句
mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl原创 2021-06-04 17:02:51 · 380 阅读 · 0 评论 -
【MyBatis】 resultMap解析内部类
用$代替.例如:com.example.Main$Hello原创 2021-06-03 17:30:48 · 1271 阅读 · 0 评论 -
【MyBatis】报错:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
报错内容:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:235) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.<init>...原创 2020-12-14 16:26:30 · 832 阅读 · 0 评论 -
【MyBatis】MyBatis之设计模式的运用
目录一、建造者模式1. SqlSessionFactoryBuilder二、工厂方法模式1. SqlSessionFactory三、代理模式1. MapperProxy2. 插件Plugin(拦截器Interceptor)四、职责链模式1. 插件Plugin(拦截器Interceptor)五、模板方法模式1. 执行器Executor六、单例模式1. ErrorContext七、迭代器模式1. PropertyTokenizer八、装饰者模式原创 2020-08-14 17:07:18 · 286 阅读 · 0 评论 -
【MyBatis】原理四:MapperProxy执行业务方法
1. mapperProxy调用业务方法,实则调用invoke // method就是EmployeeMapper定义的抽象方法: // public abstract org.example.bean.Employee org.example.dao.EmployeeMapper.getEmpById(java.lang.Integer) @Override public Object invoke(Object proxy, Method method, O...原创 2020-08-14 12:00:59 · 1033 阅读 · 2 评论 -
【MyBatis】原理三:sqlSession.getMapper()返回接口代理对象的原理
目录1. DefaultSqlSession.getMapper(type)2. configuration.getMapper(type, sqlSession)3. mapperRegistry.getMapper(type, sqlSession)4. mapperProxyFactory.newInstance(sqlSession)5. mapperProxyFactory.newInstance(mapperProxy)6. 最后返回一个MapperProxy的代理对象原创 2020-08-13 16:54:08 · 1938 阅读 · 0 评论 -
【MyBatis】原理二:openSession()获取SqlSession对象
目录1. DefaultSqlSessionFactory的openSession()2.DefaultSqlSessionFactory的openSessionFromDataSource()(1)configuration.newExecutor(2)return new DefaultSqlSession(configuration, executor, autoCommit)1. DefaultSqlSessionFactory的openSession() @..原创 2020-08-13 16:09:37 · 1111 阅读 · 0 评论 -
【MyBatis】原理一:创建SqlSessionFactory对象
目录一、SqlSessionFactoryBuilder的build方法二、XMLConfigBuilder2.1 properties2.2 settings2.3 typeAliases2.4 plugins2.5ObjectFactory、objectWrapperFactory、reflectorFactory2.6 environments2.7databaseIdProvider2.8typeHandlers2.9 mappers一、Sql...原创 2020-08-12 16:59:47 · 1840 阅读 · 0 评论 -
【MyBatis】MyBatis之实用场景
目录一、PageHelper1. 导入依赖2. mybatis-config.xml加上分页插件二、 批量插入三、自定义类型处理器处理枚举1. 写一个枚举类2. mybatis-config.xml配置类型处理器一、PageHelperPageHelper是MyBatis中非常方便的第三方分页 插件1. 导入依赖 <dependency> <groupId>com.github.jsq...原创 2020-08-12 11:39:04 · 427 阅读 · 0 评论 -
【MyBatis】MyBatis之逆向工程MBG
目录使用步骤:1. 导入依赖2. 编写MBG的配置文件3. 运行代码生成器生成代码MyBatis Generator,简称MBG,是一个专门为MyBatis框架使用者定制的代码生成器,根据数据表生成对应的映射文件,接口,以及bean类。支持基本的增删改查,以及QBC风格的条件查询。但是表连接、存储过程等这些复杂sql的定义需要我们手工编写。使用步骤:1. 导入依赖 <dependency> <groupId&.原创 2020-08-12 09:55:34 · 332 阅读 · 0 评论 -
【MyBatis】报错:java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClose
报错内容:java.lang.AbstractMethodError: Method com/mchange/v2/c3p0/impl/NewProxyResultSet.isClosed()Z is abstract解决方法:提高c3p0版本 <dependency> <groupId>com.mchange</groupId> <artifactId>c3p0</art原创 2020-08-11 16:55:50 · 378 阅读 · 0 评论 -
【MyBatis】MyBatis之整合Spring(搭建SSM)
目录前言一、IDEA设置二、maven设置三、web.xml配置四、SpringMVC配置文件设置五、Spring配置文件设置六、整合MyBatis1. applicationContext.xml再加内容2. mybatis-config.xml七、后端代码1. 实体类2. Mapper接口3. mapper映射文件4. service5. controller八、前端代码1. 跳转页面2. 显示页面前言开发环境:JDK1..原创 2020-08-11 17:28:43 · 218 阅读 · 0 评论 -
【MyBatis】无法扫描到resources下的mapper配置文件
一般我们都是分离Java和配置文件,但是如果配置路径有问题,会导致找不到配置文件。在mybatis-config文件中,设置配置文件路径,注意:不要用.而是用/不要用.而是用/不要用.而是用/ <mappers> <mapper resource="org/example/dao/EmployeeMapper.xml"/> </mappers>不然会扫描不到...原创 2020-08-10 16:33:26 · 6989 阅读 · 5 评论 -
【MyBatis】MyBatis之基础知识
一、简介可用XML或注解来配置映射,将接口和Java的POJO映射成数据库中的记录。半自动化的持久化层框架,可定制SQL以优化。SQL与Java代码分离。二、写个Demo1. 创建数据库mybatis以及表employee2. 编写beanpublic class Employee { private Integer id; private String lastName; private String email; priva原创 2020-08-11 15:02:24 · 244 阅读 · 0 评论