| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> MyBatis-Plus框架(8月2号) -> 正文阅读 |
|
[Java知识库]MyBatis-Plus框架(8月2号) |
持久层操作数据存储的层 与什么数据库无关 与什么技术无关 ORMO(Object)R(Relationship)M(Mapping)对象关系映射 MyBatis框架是一款持久层的ORM框架 MyBatis与JDBC的关系Mybatis的底层是JDBC,基于反射技术在运行时调用JDBC,实现数据库编程 苞米豆(baomidou)MyBatis-PlusMyBatis-Plus 官方文档https://baomidou.com/ Mybits-Plus与SpringBoot的关系Mybatis-Plus框架能够与Spring框架无缝整合 学习一门框架1、搭建环境? ? ? ? (1)安装哪些依赖(三方库)? ? ? ? 1、创建项目时选择这三个依赖 ? ? ? ? 2、添加JSP依赖
? ? ? ? (2)需要哪些配置? ? ? ? 3、配置maven打包web目录(写在pom.xml的build标签中,把plugins折叠起来,写在plugins后面)?
? ? ? ? 4、配置jsp文件的前缀和后缀(写在resources/application.properties配置文件中)
? ? ? ? 5、对application.properties文件进行修改(Mybatis-Plus基础配置参数) ? ? ? ? (3)框架提供了哪些API,怎么用2、如何应用 3、研究它的底层 Mybatis-Plus替代了原生的JDBC 代码写在工程的哪个包里面dao包:用原生的jdbc写,包名就叫dao mapper包:用mybatis-plus框架写,包名建议叫mapper(模块子包,小于等于启动类) 在mapper子包中定义接口在xml文件中编写SQL语句? ? ? ? xml文件写在resources目录中 ? ?设置xml文件头
????????xml文件格式 SQL语句写在mapper标签里面? 下载MybatisX,设置mapper和xml建立关系? ? ? ? 在Idea的插件市场搜索并安装MybatisX插件 ? ? ? ? ? ? ? ? 实现接口与xml绑定后快速访问 ? ? ? ? ? ? ? ? 检查接口中的抽象方法在绑定xml文件中是否有对应标签绑定 ? ? ? ? File->Settings->Plugins->MarketPlace 在启动类中实现@MapperScan("mapper包的全路径")注解如何拿到框架创建的Mapper接口的实现类?拿不到(因为没有物理文件,它存在于JVM内存中) 如何拿到框架创建的Mapper接口的实现类的对象??框架说:实现类你拿不到的,对象我帮你创建好放在内存中,你直接拿对象 public class UserMapperImpl implements UserMapper{ ? ? ? ? @Override ? ? ? ? public int insert(User user) throws Exception{ ? ? ? ? 根据接口的绑定关系寻址xml文件 ? ? ? ? 根据方法的绑定关系寻址绑定的SQL语句???????? ? ? ? ? 获取连接 ? ? ? ? 预编译SQL ? ? ? ? 填充参数 ? ? ? ? 执行SQL ????????} } UserMapper userMapper=new UserMapperImpl(); ? 不需要在启动类中写代码,在test里写?需要打印SQL语句,可以在application.properties配置文件中添加
修改数据库的SQL语句?Mybatis写SQL语句的几种方式1、在绑定xml文件中写 ? ? ? ? <insert></insert> ?? ? ? ? <update></update> ? ? ? ? <delete></delte> ? ? ? ? <selectt></select> 2、不需要xml文件,使用注解写 ? ? ? ? @Insert ? ? ? ? @Delete ? ? ? ? @Update ? ? ? ? @Select 动态SQL语句还是在xml文件中写比较方便 3、不绑定xml文件,继承官方的BaseMapper接口 ? ? ? ? 实体类中需要写的: ? ? ? ? @TableName("映射表名")? ? ? ? -->写在实体类的类名上一行 ? ? ? ? @TableField("映射字段名")? ? ? ? -->写在实体类和父类的每一个字段名的上一行 ? ? ? ? @TableId(value="映射主键名",type=IdType.AUTO)? ? ? ? -->写在父类的主键名的上一行 ? BaseMapper的17种SQL语句
Wrapper SQL子句构造器父类? ? ? ? 1、QueryWrapper<T> 作为where条件的构造器 ? ? ? ? 2、UpdateWrapper<T> 作为set子句的构造器 ? ? ? ? IPage分页器 ? ? ? ? 1、Page类 ? ? ? ? 不同数据库的分页语句不一样,你需要告诉框架你用的是什么数据库 ? ? ? ? MySQL:limit ?,? ? ? ? ? Oracle:基于rownum做子查询? ? ? ? ? 在启动类中添加下面的方法,即可告诉mybatis,我们使用的是MySQL数据库
安装lombok依赖(安装依赖后,我们不需要在实体类中手写getter、setter、toString方法),它自己会帮我们写
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:05:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |