摘要:正向工程 先创建java实体类,由框架负责根据实体类生成数据库表。Hibernate是支持正向工程 逆向工程 先创建数据库表,由框架负责数据库表,反向生成如下资源 java实体类 mapper接口 mapper映射文件 创建逆向工程的步骤 pom配置文件 <build> <!--逆向工程插件-->
阅读全文
摘要:添加依赖 <!-- https://mvnrepository.com/artifact/com.github.pagehelper/pagehelper --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pa
阅读全文
摘要:MyBatis缓存 只对查询功能有效 一级缓存 一级缓存是SqlSession级别的,通过同一个SqlSession查询的数据会被缓存,下次查询相同的数据,就会从缓存中直接获取,不会从数据库重新访问 一级缓存失效的四种情况 1、不同的SqlSeesion对应不同的一级缓存 2、同一个SqlSessi
阅读全文
摘要:首先我们先定义两个表t_emp / t_dept 由于我们的pojo中,使用了驼峰命名法,而数据表中使用的是下划线命名法 解决字段名和属性名不一致 为字段起别名,保持与属性名一致 select 列名 as 别名 from 表名 List<Emp> getAllEmpAs(); <select id=
阅读全文
摘要:动态SQL 根据特定条件动态拼装SQL的功能,它存在的意义是为了解决拼接SQL语句字符串时的痛点 IF标签 根据标签中test属性所对应的表达式来决定标签中的内容,是否拼接到语句中 当if标签不成立,where空了 / and关键字多余了怎么办 1=1恒等式 List<Emp> getEmpDYBy
阅读全文
摘要:特殊sql的执行 模糊查询 根据用户名模糊查询 List<User> selectLikeUserById(@Param("id")Integer id); 建议使用:直接用"%"#{value}"%"拼接 <select id="selectLikeUserById" resultType="Us
阅读全文
摘要:封装SqlSessionUtils /** * 获取SqlSession * @param b 是否自动管理事务 * @return 返回sqlsession */ public static SqlSession getSqlSession(boolean b){ SqlSession sqlSe
阅读全文
摘要:预设的类型别名 这些别名都大小写不敏感 Mybatis的各种查询功能 查询出的数据只有一条: 可以通过实体类对象接收 可以通过List接收 可以通过Map接收 查询出的数据有多条: 可以通过Lst接收 可以通过Lsit<Map<String, Object>>接收 在mapper方法上使用@MapK
阅读全文
摘要:Mybatis核心配置文件 习惯上命名mybatis-config.xml,整合Spring之后,整个配置文件可以省略 核心配置文件主要用于配置连接数据库的环境以及MyBatis的全局配置信息 标签顺序 顺序出错会报错 properties settings typeAliases typeHand
阅读全文
摘要:Mybatis历史 ibatis提供持久层框架包括Sql Maps(封装JDBC)和Data Access Object(dao数据访问对象) 特性/概念 1、MyBatis支持定制化SQL(SQL语句自己写,自己维护)、存储过程以及高级映射(自定义一对多)的优秀的持久层框架 2、避免几乎所有JDB
阅读全文
摘要:堆排序 假如给你一无序的数组,经过堆排序获得一组降序的数组 1、首先我们将数组遍历,进行heapInsert,变为一个大根堆,建立堆的过程 方法一:正序遍历+heapInsert O(N*logN) 当需要建堆的数量少的时候,代价低,数量高的时候,代价高 for(int i = 0; i < arr
阅读全文
摘要:新特性的优点 速度更快 代码更少(Lambda表达式) 强大的Stream API 便于并行 最大化减少空指针异常:Optional Nashorn引擎,允许在JVM上运行JS应用 Lambda表达式 是一个匿名函数,可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递) 本
阅读全文
摘要:快排 例1 给定一个数组arr,和一个数num,请把小于等于num的数放在数组的左边,大于num的数放在数组右边,要求额外空间复杂度O(1),时间复杂度O(N) 解法: 0、我们指定一块区域,称之为小于等于区,在这个区域里面,存储着小于num的数 1、遍历arr数组,如果arr[i]<=num,ar
阅读全文
摘要:归并排序 整体上是递归,左边排好序+右边排好序+merge让整体有序 让其整体有序的过程里用来排外序方法 利用master公式来求解时间复杂度 当然可以用非递归实现 例:无序数组arr[L.....R]排序 master:T(N) = 2*T(N/2)+O(N),为什么是N呢,因为这个数组总长度是N
阅读全文
摘要:矩阵 zigzag打印矩阵 假设A、B点指向(0,0) 定义如下变量 int Ar = 0 A的行号 int Ac = 0 A的列号 int Br = 0 B行号 int Bc = 0 B的列号 int endr = matrix.length - 1 最后一行 int endc = mrtrix[
阅读全文
摘要:二叉树的递归套路 假设以X节点为头,假设可以向X左子树和X右子树要任何信息 在上一步的假设下,讨论以X为头节点的树,得到答案的可能性(最重要)也就是以答案结果跟X有没有关系为划分讨论 列出所有可能性后,确定到底需要向左子树和右子树要什么信息 把左子树信息和右子树信息求全集,就是任何一颗子树都需要返回
阅读全文