![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
mybatis框架
文章平均质量分 67
mybatis框架学习
dream.未来
细节把控的学习,解决问题不仅仅是给你解决的代码更多的是是告诉你他为什么能解决这个问题,他的内部处理事什么样的过程,这样很耗费时间,但是能让你理解最底层的运行就能方便你更好的运用,也能更好的扩展
展开
-
mybatis使用注解开发多表操作以及实现缓存开启和延时加载
一一映射 借助@One@One就相当于我们使用xml的时候的 asscciation //@Results 等价于 resultMap // @Result 相当于 result和id的组合 @Results( id = "userMap",//这个就是唯一标识,后来直接使用这个标识就可以了 value = { //主键id才有写true 不是逐渐的id就不要用写了原创 2021-03-02 22:16:40 · 92 阅读 · 0 评论 -
mybatis的注解开发基本注解
Mybatis的注解开发其实就是用注解代替xml文件,因为读取XML文件太慢,使用注解开发就省去了这一步很方便单表的crud操作首先我们会借助到一些注解@Results 这个使用来连接实体类的@Result 用来书写实体类里面的属性和数据库中字段的对应直接写在接口里面 //@Results 等价于 resultMap // @Result 相当于 result和id的组合 @Results( id = "userMap",//这个就是原创 2021-03-02 21:32:40 · 175 阅读 · 0 评论 -
Mybatis缓存
什么是缓存缓存就是一些存在于内存当中的一些数据需要用到的区域空间为什么要使用缓存使用缓存就是尽量降低和数据库的缓存,提高性能和效率,因为使用缓存的数据效率更高什么样的数据用于存在缓存中不重要的数据,不需要经常改变的数据,---->适合放在缓存中数据重要,数据经常变化,数据变化对其他结果会产生一定的影响mybatis缓存一般来说分为两级一级缓存(SqlSession)一级缓存是为了保证每次读取到的事最新的信息,避免出现脏读的现象一级缓存是默认存在的,舒服SqlSession关闭或者刷原创 2021-03-02 21:03:58 · 45 阅读 · 0 评论 -
mybatis的延时加载(懒加载)
Mybatis的延时加载(懒加载)目的:是为了减少对数据库的使用,减少内存使用,减轻服务其压力。加快查询效率,延时加载一般是用在了夺标联查的时候,延时加载一般是通过设置配置文件来完成的,延时加载也称之为懒加载或者按需加载,主要是应用到了级联操作延时加载的使用表之间的关系是一对一(使用assocation完成延时加载)局部懒加载::在接口对应的xml文件里面的mapper里面配置xml文件<!--配置产生级联操作--> <resultMap id="userMap" t原创 2021-03-02 20:30:47 · 196 阅读 · 0 评论 -
mybatis事务
什么是事务事务就是拥有单独单元的一个或者多个sql语句组成的,,,在这个单元中每个sql语句都是相互依赖的,而整个这个单独的单元,她似乎就一个不可分解的整体,如果单元中某一条sql语句执行异常,那么整个这个单独单元将会回滚事务四大特性(简称ACID)A — Atomicity 原子性 一个事务使用一个不可分割的整体,所以要么全部执行要么全部不执行。C — Consistency 一致性 一个事务的状态会使得一个一致状态从一个状态切换到另一个状态。I原创 2021-03-02 19:48:11 · 618 阅读 · 0 评论 -
mybatis中的输入映射与输出映射
输入映射简单类型1.基本数据类型2.String字符串复杂类型1.pojo—>pojo这里说的是 plain Ordinary java Object 意思就是简单的java对象,实际上就是把我们的javaBean当成参数传入2.pojo包装类格式 类名Vo—>包装类内部至少含有一个普通类,可以用于多条件查询—>包装类一般都用于多个对象组成的查询条件—>例如我们查询用户的时候,包含有角色信息,这时候就要把角色和用户都带进去,这时候就需要把角色信息作为查询条件原创 2021-03-01 22:44:30 · 175 阅读 · 0 评论 -
动态sql SQL语句中的 if choose trim set foreach
动态sql动态SQL是mybatis的强大特征之一,解决根本不同条件拼接SQL语句的不便可以借助功能强大的基于OGNL的表达式ifchoose (when, otherwise)trim (where, set)foreachsqlif 常用于字符的非空判断xml配置<!--List<User> queryUsersBySex(String sex);--> <select id="queryUsersByGender" resultType=原创 2021-03-01 22:44:02 · 172 阅读 · 0 评论 -
关联查询
关联查询表与表之间的关联分为一对多和多对一 和多对多多对多的情况下我们一般会采取中间表的方式来完成表之间的操作// 多对多映射public class Auth implements Serializable{//… 自己固有属性private List roles;// get和set方法//…}public class Role implements Serializable{//… 自己固有属性private List auths;private List users;//原创 2021-03-01 22:42:20 · 968 阅读 · 0 评论 -
返回自增id的id值 #{} 和${}的区别 sql语句中的比较运算符
返回自增id的id值新增用户的是偶我们都是通过主键自增来完成的,所以不知道怎么查看增加的id值,我们可以喜阳光sql语句来完成返回邢增id值得操作直接在接口对应的xml文件下面写代码,在mapper 里面<!--添加用户信息--> <insert id="addUser" parameterType="user" > <!--使用内部的标签selectKey 获取新增用户的id值 resultType 返回值类型指定为int原创 2021-03-01 20:56:03 · 811 阅读 · 0 评论 -
mybatis入门
mybatis入门步骤1.下载安装mybaits,对于maven工程只需要在pom.xml文件添加mybatis的坐标依赖。2.建立一个maven工程3.在pom.xml文件中添加mybatis核心包+mybatis依赖包+数据库驱动包(mysql) <packaging>jar</packaging> <!--这个表示纯java工程 war 表示包含了web页面的工程--> <dependencies> <原创 2021-03-01 20:29:12 · 95 阅读 · 0 评论 -
mybatis基础和基本运行原理
mybatis:主要是替代持久层,就是几乎免除了所有的JDBC操作.使得代码更加精简,mybatis的核心是:SqlSessionFactory对象mybatis的代替图解mybatis框架代替的就是我们的持久层框架的理解框架并不是工具类,工具类只能解决局部问题,但是框架能够解决一整套问题但是框架里面并没有具体的业务逻辑,所以业务逻辑还是需要我们自己去写,我们可以认为框架是一个半成品软件框架主要解决了哪些问题没学习狂减之前我们主要是通过三层架构来解决问题*(dao service ser原创 2021-02-25 21:13:42 · 126 阅读 · 0 评论 -
maven
maven:其实就是一个项目管理工具项目生命周期图解maven入门图解maven是一个项目管理工具项目对象模型.(POM)一组标准组合一个项目生命周期一个依赖管理系统(dependency)用来运行定义在生命周期阶段的插件目标maven组成图解maven的本质是什么就是用来管理项目中用到的jar包。一般使用maven就是i用来管理jia包的maven的使用1.下载安装下载地址:https://maven.apache.org/download.cgi解压就是安装,需要原创 2021-02-24 21:28:56 · 208 阅读 · 1 评论 -
注解:其实就是框架使用就是通过注解来完成的
注解概述:认为是一种功能代码级别的说明,是一种功能性说明,是从JDK1.5之后引入的新特性,注解是给虚拟机看的,是给程序看的,所以注解数具有功能的代码,不是简单的说明。官方的注解定义:注解也称为元数据:是一种具有代码级别的说明。它可以声明在类,方法,属性,包,局部变量,方法参数上面。用来对元素进行说明注解的本质:注解的本质就是一个接口,改接口默认继承Annotation接口注解格式:@注解名称注解作用:在目前主流应用上住哟啊是替代配置文件(例如:xml文件,properties)。在Ser原创 2021-02-23 20:23:11 · 193 阅读 · 2 评论 -
反射::被称为框假设计的灵魂,框假设计就是通过反射来完成的,通过反射来完成高可用性质(重复出现的代码就省略掉了)。
钩子程序Hook:写一段脚本,能够在程序执行的时候动态的修改程序数据,就是外挂书写的动态语言:是一类可以在程序运行过程之中改变其结构的语言。比如:定义的方法创造出来对象或者功能代码,可以在程序运行过程之中植入或者加载进去。从而达到修改或者删除已有的方法或者数据,从而达到动态的修改程序。动态语言举例:JavaScript就是动态语言也称为脚本语言。PHP也是动态语言。python也是动态语言。C#也是动态语言。静态语言:程序运行过程之中,程序运行的时候程序结构不会发生改变的语言就是静态语言。静态语言举原创 2021-02-23 20:01:35 · 108 阅读 · 2 评论