MyBatis
文章平均质量分 78
Mybatis札记
CSNZのBlog
再见理想
展开
-
关于Mybatis工程使用 SqlSession 创建 dao 接口的代理对象 — sqlSession.getMapper(target.class)
在练习mybatis项目时,我们对下面这段代码并不陌生初学的我们都只背下了1、先创建 SqlSession 对象2、调用它的 getMapper(target.class) 方法 获取 目标代理对象3、最后就能使用此目标对象 调用 我们想调用的业务了????首先提出问题一:为什么要用 getMapper(target.class) 方法 获取 目标代理对象 ?解答:因为 Java 中 对于 接口类 是不能直接实例化的。如果要使用它,就得生成它的实现类,再使用它的实现类来操作接口中原创 2021-10-20 22:16:14 · 1215 阅读 · 0 评论 -
MyBatis 面试题 吊打面试官系列
1、何为MyBatis ?1)Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。2)MyBatis 可以使用 XML 或注解来配置和映射原生信息,将 POJO映射成数据库中的记录,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。3)通过xml 文件或注解的方式将要执行的各种 stateme原创 2021-08-27 16:41:26 · 464 阅读 · 1 评论 -
Mybatis的SqlSession是如何获取的(源码篇)
咳咳~睡醒脑子一热就想看看mybatis的源码,乱点一通于是发现了之前从未注意到的点 ~总所周知,sqlsession是通过sqlSessionFactory.openSession()获取的????一起来看看openSession()它到底肿么了?点进去,发现有两个实现方法先进去SqlSessionManager看看????好家伙,走的还是SqlSessionFactory类看来是应该走 DefaultSqlSessionFactory 这个类了冒昧的进来看看~@Override原创 2021-08-24 15:21:16 · 717 阅读 · 0 评论 -
Mybatis 札记(六、缓存)麻雀虽小,五脏俱全
一:缓存 简介1、什么是缓存 【 Cache 】存在内存中的临时数据将用户经常查询的数据放在缓存 ( 内存 ) 中,用户去查询数据时就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题2、为什么使用缓存减少和数据库的交互次数,减少系统开销,提高系统效率3、什么样的数据 适合 使用缓存呢经常查询并且不经常改变的数据二:MyBatis缓存MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存,缓存可以极大的提升查询效率原创 2021-07-22 10:17:00 · 151 阅读 · 0 评论 -
MyBatis项目搭建流程
一:新建项目 初始项目结构目录二:导入依赖(导入坐标) <!--导入依赖坐标--> <dependencies> <!--MySQL驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId>原创 2021-07-22 00:04:55 · 537 阅读 · 4 评论 -
Mybatis 札记(五、动态SQL)麻雀虽小,五脏俱全
一:动态SQL 概念动态SQL就是指根据不同的条件生成不同的SQL语句动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。if提供了可选的查找文本功能choose (when, otherwise) 从多个条件中选择一个使用传入了 “title” 就按 “title” 查找,传入了原创 2021-07-21 21:23:28 · 205 阅读 · 1 评论 -
Mybatis 札记(四、复杂查询环境搭建、多对一、一对多查询)麻雀虽小,五脏俱全
一:复杂查询环境搭建1、新建module2、编写数据库表CREATE TABLE `teacher` ( `id` INT(10) NOT NULL, `name` VARCHAR(30) DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8INSERT INTO teacher(`id`, `name`) VALUES (1, '三上老师'); CREATE TABLE `student` (原创 2021-07-21 11:00:52 · 190 阅读 · 0 评论 -
MyBatis工程出现:无效绑定语句(未找到)
Bug:org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.csnz.dao.TeacherMapper.AllTeacher一般都是资源文件路径错了可在对应文件夹中 发现 原来这是单独一个文件夹但是我们的意愿是 三个文件夹 所以在resources中不能一口气建立多级目录只能一级一级建立Directory解决办法 就是 一级一级创建目录...原创 2021-07-21 09:39:59 · 1285 阅读 · 2 评论 -
Mybatis 札记(三、分页、注解开发)麻雀虽小,五脏俱全
一:分页思考:为什么需要分页?原因:减少数据的处理量方式一:使用Limit分页语法:select * from user limit startIndex , pageSize ;使用MyBatis实现分页,核心SQL1、接口2、Mapper.xml3、测试方式二:使用RowBounds分页 (了解即可)sql照常查询全部, 只是在测试代码中需传入rowBounds的对象方式三:使用 PageHelper (了解即可)官网:https://pagehelper.gith原创 2021-07-20 21:08:48 · 127 阅读 · 1 评论 -
Mybatis 札记(二、配置解析、结果集映射、日志)麻雀虽小,五脏俱全
一:配置解析1、核心配置文件:mybatis-config.xml其中包含了影响 mybatis 行为的设置和属性configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)d原创 2021-07-17 16:26:32 · 204 阅读 · 1 评论 -
Mybatis 札记(一)麻雀虽小,五脏俱全
先献上中文官网:https://mybatis.org/mybatis-3/zh/index.html一:什么是 MyBatis?MyBatis 是一款优秀的持久层框架支持自定义 SQL、存储过程以及高级映射免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作MyBatis 本是apache的一个开源项目iBatis,。2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Gith原创 2021-07-13 16:19:51 · 164 阅读 · 0 评论