(狂神说)Mybatis学习笔记
文章平均质量分 78
(狂神说)
身伤易逝lk
这个作者很懒,什么都没留下…
展开
-
1、Mybatis简介
环境:JDK 1.8Mysql 5.7maven 3.6.1IDEA回顾:JDBCMysqlJava基础MavenJunitSSM框架: 配置文件。最好的方式看官网文档: https://mybatis.org/mybatis-3/zh/index.html1.1、什么是Mybatis①MyBatis 是一款优秀的持久层框架,②它支持自定义 SQL、存储过程以及高级映射。③MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。④MyBatis 可以通过简单的 XML 或注原创 2021-10-26 11:49:18 · 77 阅读 · 0 评论 -
2、第一个Mybatis程序
思路: 搭建环境→导入Mybatis→编写代码→测试2.1、搭建环境①创建一个普通的maven项目②删去src文件夹③导包 <dependencies> <!-- mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</ar原创 2021-10-26 11:50:50 · 62 阅读 · 0 评论 -
3、CRUD
3.1、namespacenamespace中的包名要和Dao/mapper借口一致!3.2、select选择、查询语句;id: 就是对应namespace中的方法名resultType: sql语句执行的返回值 parameterType :参数的类型Mapper接口 //查询全部用户 List<User> getUserList(); //根据ID查询用户 User getUserById(int id);配置文件(实现接口) <!.原创 2021-10-30 13:37:13 · 73 阅读 · 0 评论 -
4、配置解析
4.1、核心配置文件mybatis-confhg.xmlMyBatis 的配置文件包含了会深深影响 MyBatis 行为的设置和属性信息configuration(配置)properties(属性)settings(设置)typeAliases(类型别名)typeHandlers(类型处理器)objectFactory(对象工厂)plugins(插件)environments(环境配置)environment(环境变量)transactionManager(事务管理器)dataSource(数据源)d.原创 2021-10-30 13:39:06 · 105 阅读 · 0 评论 -
5、resuletMap解决属性名与字段名不一致的问题
数据库中的字段![image.png](https://img-blog.csdnimg.cn/img_convert/6c49d9923de721ae4c544ea4305c32ca.png#clientId=ud538ea37-b529-4&from=paste&height=295&id=u22d0e6c5&margin=[object Object]&name=image.png&originHeight=360&originWidth=278原创 2021-10-30 13:40:11 · 254 阅读 · 0 评论 -
6、Mybatis日志
6.1、日志工厂如果一个数据库操作, 出现了异常, 我们需要排错。日志就是最好的助手曾经: sout、dabug现在: 日志工厂 !| logImpl | 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。(用于打印日志) | SLF4J | LOG4J | LOG4J2 | JDK_LOGGING | COMMONS_LOGGING | STDOUT_LOGGING | NO_LOGGING | 未设置 || — | — | — | — |SLF4JLOG4J (掌握)LOG4J2J.原创 2021-10-30 13:41:19 · 96 阅读 · 0 评论 -
7、Mytatis分页
思考:为什么分页?减少数据的处理量7.1、使用Limit分页语法: **select **_* _**from user limit **startIndex,pageSize使用Mybatis实现分页,核心SQL1.接口 //分页limit List<User> getUserLimit(Map<String, Integer> map);2.配置文件 <!--分页limit--> <select id="getUse原创 2021-10-30 13:42:09 · 77 阅读 · 0 评论 -
8、使用注解开发
8.1、面向接口编程面向接口编程之前学习过面向对象的编程, 也学习过接口,但在真正的开发中, 很多时候我们会选择面向接口编程①根本原因: 解耦、可拓展、提高复用、分层开发中、上层不用管具体的实现, 大家遵 从共同的标准, 使开发变得更加容易, 规范性更好②在一个面向对象的系统中, 系统的各种功能是由许许多多的不同对象协作完成。在 这种情况下, 各个对象内部是如何实现自己的, 对系统设计人员来讲就不那么主要;③而各个对象之间的协作关系则成为系统设计的关键。小到不同类之间的通信, 大到各模块之间的.原创 2021-10-30 13:42:59 · 67 阅读 · 0 评论 -
9、Lombok
Project Lombok 是一个 Java 库,可自动插入您的编辑器并构建工具,为您的 Java 增添趣味。 永远不要再编写另一个 getter 或 equals 方法,通过一个注释,您的类就有一个功能齐全的构建器,自动化您的日志变量等等。使用步骤: ①在IDEA中安装插件Lombok②项目中导入Lombok的jar包<!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --><dependency&g原创 2021-10-30 13:43:28 · 74 阅读 · 0 评论 -
10、多对一处理 11、一对多处理
![image.png](https://img-blog.csdnimg.cn/img_convert/1900a9e1b609a0c782667a557fa77259.png#clientId=ufb45ba56-7e0b-4&from=paste&height=400&id=u496ce0a5&margin=[object Object]&name=image.png&originHeight=437&originWidth=534&or原创 2021-10-30 13:44:11 · 92 阅读 · 0 评论 -
12、动态SQL
12.1、什么是动态SQL动态SQL就是指根据不同的条件生成不同的SQL语句ifchoose (when, otherwise)trim (where, set)foreach搭建环境CREATE TABLE `blog`( `id` VARCHAR(50) NOT NULL COMMENT '博客id', `title` VARCHAR(100) NOT NULL COMMENT '博客标题.原创 2021-10-30 13:44:46 · 87 阅读 · 0 评论 -
13、Mybaits缓存
13.1、简介查询: 连接数据库, 耗资源一次查询的结果, 给他暂存在一个可以直接取到的地方! --> 内存: 缓存我们再次查询相同数据时, 走缓存, 就不走数据库了1.什么是缓存 [Cache]?①存在内存中的临时数据。②将用户经常查询的数据放在缓存中, 用户去查询数据就不用从磁盘上(关系型 数据库数据文件)查询, 从缓存中查询, 从而提高查询效率, 解决了高并发系统的 性能问题。2.为什么使用缓存?减少和数据库的交互次数, 减少系统开销, 提高系统效率。3.什么样的数据能使用缓存?经常.原创 2021-10-30 13:45:27 · 141 阅读 · 0 评论