mybatis
GoSantiago
这个作者很懒,什么都没留下…
展开
-
Mybatis(十)——延迟加载
延迟加载延迟加载其实就是将数据加载时机推迟,比如推迟嵌套查询的执行时机。在Mybatis中经常用到关联查询,但是并不是任何时候都需要立即返回关联查询结果。比如查询学生信息,并不一定需要及时返回学生对应的学生证信息,这种情况一下需要一种机制,当需要查看时,再执行查询,返回需要的结果集,这种需求在Mybatis中可以使用延迟加载机制来实现。延迟加载可以实现先查询主表,按需实时做关联查询,返回关联表结...原创 2019-08-05 21:26:00 · 161 阅读 · 0 评论 -
Mybatis(十一)——缓存
Mybatis除了通过延迟加载来提供查询效率,也可以使用缓存机制。Mybatis中有一级缓存和二级缓存,默认情况下,Mybatis开启一级缓存,关闭二级缓存:一级缓存是SqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(HashMap)用于存储缓存数据。不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。二级缓存...原创 2019-08-08 21:02:45 · 230 阅读 · 0 评论 -
Mybatis(九)——日志
日志Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:SLF4JApache Commons LoggingLog4j 2Log4jJDK loggingMyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。不少应用服务器(如 Tomc...原创 2019-08-05 20:40:14 · 239 阅读 · 0 评论 -
Mybatis(八)——关联查询(association、collection)
一对一查询建立好两个表student和card,其中student表中主键为id,外键为cardid,指向card表中的主键id。建立一个Card类与表card对应package com.santiago.entity;public class Card { private int id; private String info; public int g...原创 2019-08-04 16:55:42 · 421 阅读 · 0 评论 -
Mybatis(七)——动态SQL(if、where、foreach标签)
在SQL映射文件中,可能会有下列的情况:根据名字查询学生select * from student where stuname = #{stuName}根据年龄查询学生select * from student where stunage = #{stuAge}根据名字和年龄查询学生select * from student where stuname = #{stuName} an...原创 2019-08-02 20:55:46 · 492 阅读 · 0 评论 -
Mybatis(六)——resultType、resultMap
一、resultType映射文件select标签中,resultType可以填两种类型:简单类型(8中基本类型+String类型)对象类型(1)、输出参数为简单类型在SQL配置文件中,使用resultType指定输出的参数类型,以下指定输出类型为intSQL映射文件:StudentMapper2.xml <select id="resultType1" resultT...原创 2019-07-16 10:01:52 · 629 阅读 · 0 评论 -
Mybatis(五)——parameterType、调用存储过程
映射文件中select标签中,parameterType可以填两种类型简单类型(8中基本类型+String)对象类型Mybatis提供了两种支持动态sql的语法:#{}和${},这两种语法针对不同的参数类型有不同的使用方式。#{} 与 ${} 的区别#{} 是以预编译的形式,将参数设置到sql语句中,并且参数会有单引号包裹。如select * from student where...原创 2019-07-05 15:59:34 · 1261 阅读 · 0 评论 -
Mybatis(三)——动态代理方式(基于接口方式)
在Mybaits(二)中,使用的是基本方式来实现对数据库的增删改查(DRUD)操作,接下来尝试使用动态代理方式。在基本方式中,需要通过命名空间namespace和mapper的id值来确定sql;而在动态代理方式中,可以省略掉statement,根据约定直接定位sql。如何使用动态代理方式首先要建立接口,接口中必须遵循以下三个约定- 方法名和mapper.xml文件中的标签的id值相...原创 2019-06-30 16:25:51 · 582 阅读 · 0 评论 -
Mybatis(二)——增删改查
1. 建立初始项目新建MybatisProject2项目,新建实体类Student和数据库表student,其中类的属性与表的属性名保持一致,否则需要特殊配置才能映射成功。根据Mybatis(一),建立初步的项目,项目结构如下sql表结构如下Student类代码如下,注意属性名与表中的属性名称一致public class Student { private int stuNo...原创 2019-06-30 14:21:04 · 208 阅读 · 0 评论 -
Mybatis(四)——项目优化
1. JDBC属性文件在资源文件夹下新建db.properties文件,其内容如下driver=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3307/mybatisusername=rootpassword=root修改conf.xml的内容首先引入资源文件db.properties<properties resource...原创 2019-07-05 10:10:21 · 193 阅读 · 0 评论 -
Mybatis(一)
1. ORM面向对象编程把所有实体看成对象(object),关系型数据库则是采用实体之间的关系(relation)连接数据。很早就有人提出,关系也可以用对象表达,这样的话,就能使用面向对象编程,来操作关系型数据库。ORM就是通过实例对象的语法,完成关系型数据库的操作的技术,是"对象-关系映射"(Object/Relational Mapping) 的缩写。ORM 把数据库映射成对象。...原创 2019-06-28 15:47:08 · 248 阅读 · 0 评论