MyBatis实现方法重载的小技巧

QuestionMapper.java

利用接口默认方法 default 实现

QuestionMapper.xml

利用动态sql对 userId 字段进行判断
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis是一种基于Java的持久层框架,它通过XML描述符或注解将Java对象映射到关系数据库中的数据。MyBatis实现原理主要包括以下几个方面: 1. SqlSessionFactoryBuilder:SqlSessionFactoryBuilder是用于创建SqlSessionFactory的构建器。它读取配置文件或者Java代码中的配置信息,然后创建SqlSessionFactory。 2. SqlSessionFactory:SqlSessionFactory是MyBatis的核心,它是一个线程安全的对象,用于创建SqlSession。SqlSessionFactory使用了工厂模式,它通过读取配置文件或者Java代码中的配置信息,创建SqlSession。 3. SqlSession:SqlSession是MyBatis的核心接口,它提供了执行SQL语句、获取映射器、提交事务、关闭连接等方法。SqlSession使用了会话模式,它是一个轻量级的对象,用于和数据库交互。 4. Mapper:Mapper是MyBatis的映射器,它是一个Java接口,用于定义SQL语句和映射规则。Mapper接口中的方法对应了SQL语句,MyBatis会根据方法名和参数类型自动生成SQL语句。 5. Executor:Executor是MyBatis的执行器,它负责执行SQL语句并返回结果。Executor有三种类型:SimpleExecutor、ReuseExecutor和BatchExecutor。SimpleExecutor每次执行SQL语句都会创建一个新的Statement对象;ReuseExecutor会重用Statement对象;BatchExecutor会批量执行SQL语句。 6. StatementHandler:StatementHandler是MyBatis的语句处理器,它负责创建Statement对象、设置参数、执行SQL语句并返回结果。StatementHandler有两种类型:PreparedStatementHandler和CallableStatementHandler。 7. ParameterHandler:ParameterHandler是MyBatis的参数处理器,它负责设置SQL语句中的参数。ParameterHandler有两种类型:DefaultParameterHandler和MapParameterHandler。 8. ResultSetHandler:ResultSetHandler是MyBatis的结果集处理器,它负责将查询结果映射到Java对象中。ResultSetHandler有两种类型:DefaultResultSetHandler和MapResultSetHandler。 9. TypeHandler:TypeHandler是MyBatis的类型处理器,它负责将Java对象和数据库中的数据进行转换。TypeHandler有两种类型:JdbcTypeHandler和JavaTypeHandler。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值