MyBatis框架
文章平均质量分 71
二级分类, 收录Mabatis相关博文
时间静止不是简史
想要时间静止,却敌不过事态变迁
展开
-
面试为什么会为 #{}和${}的区别?
由于一次需求编写, 在使用动态语句拼接时, 使用#{} 和 ${} 得到两种不同的结果集.通过对问题的回顾, 来体会到面试的时候为什么会问这种问题的原因原创 2022-01-18 08:15:00 · 3043 阅读 · 3 评论 -
mybatis code helper安装与使用
介绍逆向工程插件指的是: mybatis code helper 等一类插件, 他的作用是, 可以根据写好的数据库表自动生成实体类, swagger以及mapper, service等文件, 适应快速迭代开发.正向工程, 如: SpringData 等则是根据写好的实体类自动生成对应的数据库表. 同样也是适应快速迭代开发的需要.二者各有千秋, 我们只需要根据自己的需求去使用这些插件 / 工具, 利用其帮助我们快速达到快速开发的需要.安装下载插件(最新即可)https://zhile.i原创 2021-09-12 21:07:56 · 1143 阅读 · 0 评论 -
MyBatis注解详解
注解开发a) 注解是用于描述代码的代码. 例如: @Test(用于描述方法进行 junit 测试), @Override(用于描述方法的重写),@Param(用于描述属性的名称)b) 注解的使用风格: @xxx(属性), 使用前必须先导包c) 使用注解一般用于简化配置文件. 但是, 注解有时候也不是很友好(有时候反而更麻烦), 例如动态 SQL.d) 关于注解的属性 属性的...原创 2019-03-14 22:25:43 · 3895 阅读 · 0 评论 -
LOG4J(log for java)详解
log4j 简介a) log4j 是 Apache 提供的一款记录日志的工具b) log4j 既可以将日志信息打印在控制台, 也可以打印输出到一个日志文件中.c) log4j 可以定制日志的输出格式d) log4j 可以定制日志级别日志级别1 FATAL致命的, 表示非常严重的错误, 一般是系统错误2 ERROR错误, 表示代码错误, 比较严重3 WARN警告, 不影响...原创 2019-03-10 21:59:26 · 1765 阅读 · 0 评论 -
MyBatis-事务管理
项目截图项目建立步骤:1、在src目录下建立dp.properties文件,存放配置信息(需要自己在Oracle数据库建表)jjdbc.driver=oracle.jdbc.OracleDriverjdbc.url=jdbc:oracle:thin:@localhost:1521:orcljdbc.username=bjsxtjdbc.password=1232、建立MyBati...原创 2019-03-10 22:36:18 · 464 阅读 · 0 评论 -
MyBatis运行原理
运行过程中涉及到的类或接口1 Resources( C )用于加载 MyBatis 核心配置文件2 XMLConfigBuilder( C )用于解析 xml 文件(核心配置文件)3 Configuration( C )用于存放 xml 文件解析后的结果4 DefaultSqlSessionFactory( C )是 SqlSessionFactory(I)的 实 现...原创 2019-03-15 13:02:32 · 205 阅读 · 0 评论 -
MyBatis中动态sql语句标签详解
动态 SQL通常写在mapper包下面的地址映射配置文件(.xml)中。根据条件的不同, SQL 语句也会随之动态的改变. MyBatis 中,提供了一组标签用于实现动态 SQL.动态SQL语句标签包括以下标签:where…if… 标签choose…when…otherwise… 标签set…if 标签trim 标签bind 标签foreach 标签inclu...原创 2019-03-12 13:56:24 · 4437 阅读 · 0 评论 -
异常:Exception in thread "main" java.lang.ExceptionInInitializerError
花了将近20min才看出来,仔细仔细再仔细!原创 2019-03-13 16:34:27 · 9529 阅读 · 0 评论 -
Mybatis的源码分析
Mybatis 底层源码分析 Mybatis执行流程流程图坐标添加源码分析1. Configuration.xml2. Mapper.xml3. Resources如何进入Resource方法解释4. SqlSessionFactoryBuilder5. XMLConfigBuilder6. Configuration7. DefaultSqlSessionFactory8. Executor...原创 2019-08-23 13:04:51 · 267 阅读 · 0 评论 -
MyBatis_resultMap的关联方式实现多表查询(一对多)、通过 Auto-Mapping 实现多表查询
resultMap的关联方式实现多表查询(一对多)a) 在 ClazzMapper.xml 中定义多表连接查询 SQL 语句, 一次性查到需要的所有数据, 包括对应学生的信息.b) 通过定义映射关系, 并通过指定集合属性泛型的映射关系. 可以把看成一个使用. ofType 属性表示集合的泛型, 可以写全限定路径或别名.通过 Auto-Mapping 实现多表查询a) 通过 MyBa...原创 2019-03-14 22:17:05 · 1188 阅读 · 0 评论 -
MyBatis_resultMap的N+1方式实现多表查询(多对 一)
1 实体类在班级类中定义一个学生集合, 用于存放该班级的所有学生信息.2 mapper 层提供ClazzMapper和StudentMapper, ClazzMapper查询所有班级信息, StudentMapper 根据班级编号查询学生信息. 在 ClazzMapper 中使用设置装配.a) 用于关联一个集合 property: 指定要关联的属性名 select: 设定要继...原创 2019-03-14 22:11:22 · 429 阅读 · 0 评论 -
MyBatis三个查询方法_selectList_selectOne_selectMap
一、项目的目录结构:二、回顾Mybatis的项目搭建步骤1、导入相关的包(11个jar包)12、在src目录下编写编写配置文件(mybatis-cfg.xml)3、编写实体类(User.java)4、编写映射文件(UserMapper.xml)5、编写测试文件6、调用JUnit 5进行调试相关jar包截图mybatis-cfg.xml<?xml version="...原创 2019-03-08 17:19:49 · 34238 阅读 · 1 评论 -
在Junit调试中,出现警告: Method 'public void classname' could not be resolved.并报initializationError错误
具体信心如图所示说明在调试时,没有在方法的上面加@Test调用Junit导致的。通常是因为你在一个方法中定义了多个方法,你可能在你写的第一个方法加了@Test,但是后面的由于粗心忘记加了而已。切记使用Junit调试时,在每条方法上面都要加@Test!!!下图是本人的错误截图...原创 2019-03-13 21:17:28 · 1133 阅读 · 0 评论 -
MyBatis 的缓存机制
MyBatis 的缓存机制a) 缓存用于提高查询的效率.b) MyBatis 的缓存是使用SQL标签的ID作为缓存的唯一标识的. 执行相同的标签可以使用缓存. 不同的标签不能使用缓存.c) MyBatis 中有两种缓存机制.1 一级缓存a) 默认开启. 线程级别的缓存, SqlSession 的缓存b) 在一个 SqlSession 生命周期中有效. SqlSession 关...原创 2019-03-14 10:56:30 · 310 阅读 · 0 评论 -
MyBatis、Mapper 配置文件详解
1、 configuration这是配置文件的根元素, 所有的其他元素都要在这个标签下使用.2、 environments用于管理所有的环境, 并可以指定默认使用哪个环境. 通过default 属性来指定.3、 environment用于配置环境. id 属性用于唯一标识当前环境4、transactionManager用于配置事务管理器type 属性: 用于指定 My...原创 2019-03-06 21:25:00 · 1367 阅读 · 0 评论 -
MyBatis完整环境搭建步骤
1、创建java项目2、导入相关Jar包13、配置Mybatis核心文件2关联本地dtd配置文件xml文件使得不需要联网也可以设置。配置文件可以通过下面网址下载到本地关联即可配置文件代码如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC原创 2019-03-06 22:18:04 · 1878 阅读 · 0 评论 -
MyBatis解决列名和属性名不一致问题
如果查询时使用 resultType 属性,表示采用 MyBatis 的Auto-Mapping(自动映射)机制,即相同的列名和属性名会自动匹配.因此, 当数据库表的列名和类的属性名不一致时,会导致查不到数据.解决该问题可以有两种方式:1. 列别名2. 使用<resultMap>标签<resultMap>用于自定义映射关系,可以由程序员自主制定列名和...原创 2019-03-14 12:41:32 · 1676 阅读 · 1 评论 -
MyBatis_resultMap的N+1方式实现多表查询(多对 一)
项目结构1.实体类2.Mapper层3.service层4.工具层5.测试层项目截图1、实体类创建班级类(Clazz)和学生类(Student),添加相应的方法。 并在 Student 中添加一个 Clazz 类型的属性, 用于表示学生的班级信息.2 mapper 层提供StudentMapper和ClazzMapper, StudentMapper查询所有...原创 2019-03-14 21:54:26 · 830 阅读 · 0 评论 -
MyBatis_resultMap 的关联方式实现多表查询(多对一)
项目结构1.实体类2.Mapper层3.service层4.工具层5.测试层项目截图1、实体类创建班级类(Clazz)和学生类(Student),添加相应的方法。 并在 Student 中添加一个 Clazz 类型的属性, 用于表示学生的班级信息.2 mapper 层a) 在 StudentMapper.xml 中定义多表连接查询 SQL 语句, 一次性查到...原创 2019-03-14 22:04:15 · 2418 阅读 · 1 评论 -
框架初识
框架简介:复用性、半成品、需要配置文件、第三方提供a) 框架是偷懒的程序员将代码进行封装, 之后进行重复使用的过程.b) 框架其实是一个半成品, 以连接数据库为例, 连接数据库使用的驱动, url, 用户名, 密码必须告知框架.c) 程序员在使用框架的时候,通常以配置文件的方式告知框架需要的信息,多数会使用 xml 作为框架的配置文件. 因此, 在使用框架开发代码时, 需要...原创 2019-03-05 17:24:51 · 217 阅读 · 0 评论