MyBatis

Mybatis(一):Mybatis是什么

本秂侑毒 提交于 2020-04-02 19:59:26
一、概述 Mybatis是一个优秀的持久层框架,它对JDBC操作数据库的过程进行封装,使开发者只需要关注sql本身。 我们原来使用JDBC操作数据库,需要手动的写代码去注册驱动、获取connection、获取statement等等,现在Mybaits帮助我们把这些事情做了,我们只需要关注我们的业务sql即可,这样可以提高我们的开发效率。 MyBatis属于半自动的ORM框架 二、Mybatis架构 SqlMapConfig.xml SqlMapConfig.xml文件是Mybatis的全局配置文件,配置了Mybatis的运行环境等信息 Mapper.xml Mapper.xml文件即sql映射文件,文件中配置了操作数据库的sql语句。此文件需要在SqlMapConfig.xml文件中配置加载 SqlSessionFacory 通过SqlMapConfig.xml文件里面的环境配置信息构造SqlSessionFactory会话工厂,用来生产和管理SqlSession SqlSsession 由SqlSessionFactory工厂创建SqlSession会话对象,SqlSession用来操作数据库 Executor MyBatis底层自定义了Executor执行器接口操作数据库,Executor接口有两个实现,一个基本执行器,一个缓存执行器 我们前期学习MyBatis暂时不用关注这个

SpringBoot集成MyBatis-Plus

老子叫甜甜 提交于 2020-04-02 19:23:42
一、MyBatis-Plus简介: 虽然mybatis可以直接在xml中通过SQL语句操作数据库,很是灵活。但正其操作都要通过SQL语句进行,就必须写大量的xml文件,很是麻烦。mybatis-plus就很好的解决了这个问题。 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 关于mybatis-plus的更多介绍及特性,可以参考 mybatis-plus官网 。 二、SpringBoot集成MyBatis-Plus: 1、首先要创建一个SpringBoot项目。如何创建请查看《 创建一个SpringBoot项目 》。 2、加入相关的依赖。   正如官方所说,mybatis-plus在mybatis的基础上只做增强不做改变,因此其与spring的整合亦非常简单。只需把mybatis的依赖换成mybatis-plus的依赖,再把sqlSessionFactory换成mybatis-plus的即可。如下: 1 <dependencies> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-starter-web</artifactId> 5 </dependency>

Mybatis2

会有一股神秘感。 提交于 2020-04-02 09:26:49
Mybatis配置文件中的各个属性 1、mybatis可以使用properties来引入外部properties配置文件的内容 resource:引入类路径下的资源 url:引入网络路径或者磁盘路径下的资源 例子: dbConfig.properties(mysql) jdbc.driver=com:mysql.jdbc.driver jdbc.url=jdbc:mysql://localhost:3306//mybatis jdbc.username=root jdbc.password=123456 dbConfig.properties(oracle) orcl.driver=oracle.jdbc.OracleDriver orcl.url=jdbc:oracle:thin:@localhsot:1521:orcl orcl.username=scott orcl.password=123456 在全局配置文件引入dbConfig.properties <properties resource="dbConfig.properties"/> 2、Settings(改变mybatis的运行时行为) mapUnderscoreToCamelcase:是否开启驼峰命名规则(camel case)映射(从经典数据库列名A_COLUMN到经典Java属性名aColumn的类似映射)

MyBatis基本应用

微笑、不失礼 提交于 2020-04-02 09:25:40
Mybatis(iBatis)简介 : (前身为iBatis)MyBatis是一个可以自定义SQL,存储过程和高级映射的持久层框架。MyBatis消除了几乎所以是JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解用于配制和原始映射,将接口和JavaPOJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。 作用:封装了JDBC操作,简化了数据库的访问 功能如下:——封装了获取连接,执行SQL,释放连接 ——封装了SQL参数设置 ——封装了记录映射成实体对象的过程,实体类的属性名与结果查询结果集ResultSet中列名保持一致 开发者:写SQL和实体类,然后使用SqlSession对象执行sql操作 MyBatis体系结构主要由以下几个关键部分 (1)加载配置 配置有两种形式,一种是XML配置文件,另一种是Java代码的注解。MyBatis将SQL的配置信息加载成为一个个MappdStatement对象( 包括了传入参数映射配置,执行的SQL语句,结果映射配置),并将其存储在内存中。 (2)SQL解析 当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map,JavaBean或者基本数据类型)MyBatis会根据SQL的ID找到对应的MappedStatement

mybatis逆向工程

送分小仙女□ 提交于 2020-04-01 12:50:18
近日准备着手开发我的个人博客项目,我的需求是一个后台管理系统+前端页面展示。前端主要展示各个分类下的文章,但允许有评论模块。后台管理系统主要功能是对文章的操作,新建、删除、编辑、发布的功能,以及对网站的简单监控,比如说文章访问量、评论条数等。准备按照以下步骤来开始我的个人博客开发。 1.个人博客需求分析 2. 数据库表的设计 3. 网站原型设计 4.接口开发 5.后台管理系统界面开发 6. 后台管理系统接口调试 7. 前台页面展示界面开发 8.前后台联调测试 等它能够在本地跑起来,我再去考虑申请域名相关的吧,现在我还在第2步,感觉任重而道远啊。 需要用到的技术点 1. spring boot+mybatis 主要是后台接口的开发 2.数据库:mysql 存文章信息、日志等; MongoDB 来存登录信息(因为后续可能考虑到要做一个团队间的博客分享,会有多个用户,就把登录信息单独放到mongodb里吧,不过那也是得等我先把个人的做完,再去考虑团队的吧) 3. 页面展示:vue+vuex 毕竟我还是对vue比较熟悉的。个人习惯于用node.js来连mongodb。 4. 因为有文章编辑,需要用编辑器,大概搜索了下拟采用markdown编辑器,但因为我从未用过这个,可能会有点难度,需要去了解下。 目前呢,我到了使用mybatis逆向工程来自动生成相关的mapper、pojo、xml

项目脚手架 - 《Spring Boot + MyBatis + MyBatis Generator》

☆樱花仙子☆ 提交于 2020-04-01 09:41:13
前言 最近启动了一个新的项目发现,每当一个新项目的启动往往需要从头搭建一个“框架”,其中虽然很多基础代码可以Copy,但也会浪费不少时间。 基于这个情况,我打算在GitHub上创建了一个公开库scaffold用来存放平时常用的脚手架项目。 脚手架仓库地址: https://github.com/majian159/scaffold 规划 实现的脚手架有: Java Spring Boot + MyBatis 规划的脚手架有: Java Spring Boot + JPA Spring Boot + MyBatis Web Ant design Pro antd springboot-mybatis-scaffold 第一波因为项目需求先传了 基于 sb + mybatis 的脚手架,其实我个人更喜欢 sb + jpa + ddd 的脚手架,后续在整理出来。 介绍 这是一个基于 SpringBoot + MyBatis + MyBatis Generator 的脚手架项目。 脚手架默认实现了一个 department RESTful API,用来演示。 脚手架集成内容 Spring Boot Spring Security MyBatis MyBatis Generator PageHelper Swagger-UI 目录结构 scaffold ├── scaffold-api #

mybatis之Sql语句构建器

瘦欲@ 提交于 2020-04-01 02:25:43
SQL类: 方法 描述 SELECT(String) SELECT(String...) 开始或插入到 SELECT 子句。 可以被多次调用,参数也会添加到 SELECT 子句。 参数通常使用逗号分隔的列名和别名列表,但也可以是数据库驱动程序接受的任意类型。 SELECT_DISTINCT(String) SELECT_DISTINCT(String...) 开始或插入到 SELECT 子句, 也可以插入 DISTINCT 关键字到生成的查询语句中。 可以被多次调用,参数也会添加到 SELECT 子句。 参数通常使用逗号分隔的列名和别名列表,但也可以是数据库驱动程序接受的任意类型。 FROM(String) FROM(String...) 开始或插入到 FROM 子句。 可以被多次调用,参数也会添加到 FROM 子句。 参数通常是表名或别名,也可以是数据库驱动程序接受的任意类型。 JOIN(String) JOIN(String...) INNER_JOIN(String) INNER_JOIN(String...) LEFT_OUTER_JOIN(String) LEFT_OUTER_JOIN(String...) RIGHT_OUTER_JOIN(String) RIGHT_OUTER_JOIN(String...) 基于调用的方法,添加新的合适类型的 JOIN 子句。

Mybatis框架插件PageHelper的使用

萝らか妹 提交于 2020-03-31 02:44:58
在web开发过程中涉及到表格时,例如dataTable,就会产生分页的需求,通常我们将分页方式分为两种:前端分页和后端分页。 前端分页 一次性请求数据表格中的所有记录(ajax),然后在前端缓存并且计算count和分页逻辑,一般前端组件(例如dataTable)会提供分页动作。 特点是:简单,很适合小规模的web平台;当数据量大的时候会产生性能问题,在查询和网络传输的时间会很长。 后端分页 在ajax请求中指定页码(pageNum)和每页的大小(pageSize),后端查询出当页的数据返回,前端只负责渲染。 特点是:复杂一些;性能瓶颈在MySQL的查询性能,这个当然可以调优解决。一般来说,web开发使用的是这种方式。 我们说的也是后端分页。 MySQL对分页的支持 简单来说MySQL对分页的支持是通过limit子句。请看下面的例子。 1 limit关键字的用法是 2 LIMIT [offset,] rows 3 offset是相对于首行的偏移量(首行是0),rows是返回条数。 4 5 # 每页10条记录,取第一页,返回的是前10条记录 6 select * from tableA limit 0,10; 7 # 每页10条记录,取第二页,返回的是第11条记录,到第20条记录, 8 select * from tableA limit 10,10; 这里提一嘴的是

MyBatis 系列文章

混江龙づ霸主 提交于 2020-03-30 20:50:47
一、MyBatis系列:第一个MyBatis工程 二、MyBatis系列:全局配置文件 三、MyBatis系列:Mapper映射详解 通过mapper映射文件来读取数据库记录 使用POJO实体来接收数据和传入参数 多级关联查询结果映射 关联对象属性及延迟加载 四、MyBatis系列:原始Dao方式开发 五、MyBatis系列:动态代理方式开发 六、MyBatis系列:注解方式开发 七、MyBatis系列:延迟加载 八、MyBatis系列:一级缓存的使用 九、MyBatis系列:二级缓存的使用 十、MyBatis系列:与Spring的整合 十一、MyBatis系列:逆向工程(自动生成代码) 十二、MyBatis系列:Plugins开发(分页插件) 来源: https://www.cnblogs.com/xialiang/p/4565137.html

【MyBatis源码分析】环境准备

家住魔仙堡 提交于 2020-03-30 20:49:25
Mybatis学习总结 《 Mybatis系列(一)入门 》 《 Mybatis系列(二)配置 》 《 Mybatis系列(三)简单示例 》 基础 但是实际使用不采用这个方式 参考 第九节 《 Mybatis系列(四)映射文件 》 《 Mybatis系列(五)动态SQL 》 可以的 《 Mybatis系列(六)接口式编程 》 这节很有用 《 Mybatis系列(七)关联映射 》 《 Mybatis系列(八)集合映射 》 《 Mybatis系列(九)Spring & Mybatis整合 》 这节很有用 《 Mybatis系列之实战篇(上) 》 《 Mybatis系列之实战篇(中) 》 《 Mybatis系列之实战篇(下) 》 Mybatis实战之TypeHandler高级进阶 Mybatis实战之自定义TypeHandler处理枚举 深入springMVC------文件上传源码解析(上篇) 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇) 深入浅出Mybatis系列(九)---强大的动态SQL 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete 深入浅出Mybatis系列(六)---objectFactory