摘要:正向工程 先创建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
阅读全文