随笔分类 - Mybatis
摘要:解决方法一 <jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://xxxxxx/abc“ userId="root" password="xxxxxx"> <!--防止生成不同库同名表--> <
阅读全文
摘要:配置 applicatioin.properties 方法一: Logback日志打印sql,出现在log中 logging.level.com.springboot.test.mapper=debug 方法二: 使用mybatis配置打印sql,但是不出现在log中 mybatis.configu
阅读全文
摘要:JPA提供的四种标准用法为 TABLE:使用一个特定的数据库表格来保存主键。 SEQUENCE:根据底层数据库的序列来生成主键,条件是数据库支持序列。 IDENTITY:主键由数据库自动生成(主要是自动增长型) AUTO:主键由程序控制。 GenerationType.TABLE 使用一个特定的数据
阅读全文
摘要:一、JPA通用策略生成器 JPA提供四种标准用法,由@GeneratedValue的源代码: 其中GenerationType: JPA提供的四种标准用法为TABLE,SEQUENCE,IDENTITY,AUTO. TABLE:使用一个特定的数据库表格来保存主键。 SEQUENCE:根据底层数据库的
阅读全文
摘要:在mybtis的映射文件中判断集合大小 list.size 例子如下:
阅读全文
摘要:方法一: 在mybatis-config.xml中配置加一个setting 如果是spring集成mybatis的话,在sqlSessionFactory配置好configLocation属性 方法二: 首先将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语
阅读全文
摘要:使用MyBatis查询 返回类型为int,但是当查询结果为空NULL,会报异常。 例如: 当记录不存在时会报以下错误 若遇到该问题,可使用MySQL的IFNULL函数和MAX函数,将返回的NULL值转换为0。例如,可将上述SQL语句改为: 在SQLSERVER中我们可以这样写:select ISNU
阅读全文
摘要:XML转义字符 < < 小于号 > > 大于号 & & 和 ' ’ 单引号 " " 双引号 用转义字符进行替换 例如 另外:xml格式中不允许出现类似“>”这样的字符,但是都可以使用<![CDATA[ ]]>符号进行说明,将此类符号不进行解析 上面的可以写成这
阅读全文
摘要:在PreparedStatementHandler中的query()方法中,用ResultSetHandler来完成结果集的映射。 ResultSetHandler负责处理两件事: (1)处理Statement执行后产生的结果集,生成结果列表 (2)处理存储过程执行后的输出参数ResultSetHa
阅读全文
摘要:在StatementHandler使用prepare()方法后,接下来就是使用ParameterHandler来设置参数,让我们看看它的定义: getParameterObject()是获取参数的,而setParameters()是设置参数的,相当于对一条sql所有的参数都执行ps.setXXX(v
阅读全文
摘要:我们回忆一下<MyBatis框架的使用及源码分析(十) CacheExecutor,SimpleExecutor,BatchExecutor ,ReuseExecutor> , 这4个Excecutor执行sql操作的最终都调用了StatementHandler 来执行,我们拿SimpleExecu
阅读全文
摘要:Executor分成两大类,一类是CacheExecutor,另一类是普通Executor。 普通类又分为: ExecutorType.SIMPLE: 这个执行器类型不做特殊的事情。它为每个语句的执行创建一个新的预处理语句。ExecutorType.REUSE: 这个执行器类型会复用预处理语句。Ex
阅读全文
摘要:从<MyBatis框架的使用及源码分析(八) MapperMethod>文中我们知道执行Mapper的每一个接口方法,最后调用的是MapperMethod.execute方法。而当执行MapperMethod的execute方法的时候,根据当前MapperMethod对应的mapper配置会执行Se
阅读全文
摘要:从 <MyBatis框架中Mapper映射配置的使用及原理解析(七) MapperProxy,MapperProxyFactory> 文中,我们知道Mapper,通过MapperProxy代理类执行他的接口方法,当mapper方法被调用的时候对应的MapperProxy会生成相应的MapperMet
阅读全文
摘要:从上文<MyBatis框架中Mapper映射配置的使用及原理解析(六) MapperRegistry> 中我们知道DefaultSqlSession的getMapper方法,最后是通过MapperRegistry对象获得Mapper实例: 从代码中我们看到试图从一个叫knownMappers的变量取
阅读全文
摘要:我们先Mapper接口的调用方式,见<MyBatis框架中Mapper映射配置的使用及原理解析(一) 配置与使用>的示例: sqlsession.getMapper(UserMapper.class) 也就是调用DefaultSqlSession的对应方法: 继续跟踪Configuration对象对
阅读全文
摘要:我们回顾<MyBatis框架中Mapper映射配置的使用及原理解析(一) 配置与使用> 一文的示例 SqlSessionFactoryBuilder 创建出SqlSessionFactory,然后从SqlSessionFactory中得到SqlSession,最后通过SqlSession得到Mapp
阅读全文
摘要:在<MyBatis框架中Mapper映射配置的使用及原理解析(二) 配置篇 SqlSessionFactoryBuilder,XMLConfigBuilder> 一文中,我们知道mybatis配置文件是由XMLConfigBuilder来解析的,看以下代码: 可以看到解析mapper文件的加载解析i
阅读全文
摘要:从上文<MyBatis框架中Mapper映射配置的使用及原理解析(二) 配置篇 SqlSessionFactoryBuilder,XMLConfigBuilder> 我们知道XMLConfigBuilder调用parse()方法解析Mybatis配置文件,生成Configuration对象。 Con
阅读全文
摘要:在 <MyBatis框架中Mapper映射配置的使用及原理解析(一) 配置与使用> 的demo中看到了SessionFactory的创建过程: 那么我们就从SqlSessionFactoryBuilder开始,看看Mybatis的加载过程。 SqlSessionFactoryBuilder的核心源码
阅读全文