Mybatis
一身正气z
这个作者很懒,什么都没留下…
展开
-
[小白自学]MyBatis技术(一)
目录0.基本原理图1.负责工作2.下载3.建立测试用的数据库和表(数据库叫:how2java,id是自增的)4.创建实体类5.配置文件mybatis-config.xml6.配置文件Category.xml7.测试类TestMybatis 8.MyBatis使用步骤总结0.基本原理图1.负责工作1)根据 JDBC 规范建...原创 2019-08-23 20:35:15 · 136 阅读 · 0 评论 -
828下午 mybatis-5 cache(缓存)的使用
mybatis缓存机制1.一级缓存(本地缓存 sqlsession):即 session 级别的缓存,非全局缓存,或者非二级缓存. a.在默认情况下是开启一级缓存的 b.一级缓存失效的情况 i.在同一sqlsession中,方法相同,但是传入的实参不一致也会导致一级失效 ii.sqlsession不相同,也会导致一级缓存失效 iii...原创 2019-08-28 19:27:19 · 471 阅读 · 0 评论 -
828早上 mybatis 动态(Dynamic sql)sql语句
定义一个id,引入AA1.if万能注解 @Param("")&是&的实体符号where本质是拼接字符串2.choose when otherwise前提:表结构User.java 无变化UserMapper.java的方法UserMapper.xml的配置如下:目录:...原创 2019-08-29 16:24:35 · 288 阅读 · 0 评论 -
827下午 maybatis的多表查询操作(完整源码可看) || 自动映射功能 || 把插入的最新信息的主键取出来
一:在orders表的基础上查询两个表的信息1.两个表orders表和user表(orders的uid外键为user 表的id)2.常见错误,如果没有在orders实体类上定义一个user变量,那么会报错因为我们是多表查询,查询的结果不单单有orders的内容,还有user的内容,因此应该在orders实体类上加上如下代码3.完整源码(请忽略为什么用orde...原创 2019-08-27 20:19:01 · 172 阅读 · 0 评论 -
[完整可看]8.27早上mybatis的进行CRUD操作的代码(老师推荐的方法)
目录1.先是映射的时候,映射的是一个包2.mybatis-config.xml(没有多大变化)3.CategoryMapper.xml4.CategoryMapper.java5.Test类这里用的是老师的方法,主要是用 这种方法(而不是how2j的方法) 推荐用老师的方法,这样方便,用selectOne等方法容易晕1.先是映射的时候,映射的是一个包包的话是单独...原创 2019-08-27 11:27:00 · 115 阅读 · 0 评论 -
mybatis的environments环境配置和mapper节点
一:environments:二:mappers:错误:未被注册修改包名and mapper地址名字要对应原创 2019-08-27 11:22:57 · 231 阅读 · 0 评论 -
mybatis的typeAliases别名和注解理解
一:别名(从mapper那里寻找类换到了从mybatis-config那里找)1.修改beammapper.xml2.修改全局配置mybatis-config.xml (新增了别名)3.包的别名会自动识别这个包下小写开头的类.二:别名的好与坏好处是可以简略地直接用小写开头的类名来用,更简洁坏处是如果项目一多,类一多起来,就不好在beanmapper来ctr...原创 2019-08-27 10:23:01 · 1034 阅读 · 0 评论 -
mybatis之setting属性中的mapUnderscoreToCamelCase驼峰命名规则映射
官方解释:是否开启自动驼峰命名规则(camel case)映射,即从经典数据库列名 A_COLUMN 到经典 Java 属性名 aColumn 的类似映射我的解释:在mybatis-config.xml里节点属性是有顺序的里面先properties再 settings,再typeAliases 以此类推如果放的位置不正确,会报错如图:正确的顺序:...原创 2019-08-27 09:33:43 · 983 阅读 · 0 评论 -
[小白自学]MyBatis技术六-注解:实现crud,一对多,多对一,多对多,动态SQL语句
目录把XML方式的CRUD修改为注解方式1.Mybatis CRUD2.Mybatis 一对多3.Mybatis 多对一4.Mybatis 多对多5.Mybatis 动态SQL语句SQL类是用于进行动态SQL生成的,如下代码是一个相对复杂的SQL类的使用举例,以后需要用到的时候,再来参考。把XML方式的CRUD修改为注解方式1.Mybatis CRU...原创 2019-08-26 18:54:16 · 211 阅读 · 0 评论 -
[小白自学]MyBatis技术五-动态SQL:choose where otherwise || foreach || bind标签例子
1.choose where otherwise2.foreach :根据id查询内容Test3.bind:字符串拼接原创 2019-08-26 17:24:35 · 152 阅读 · 0 评论 -
[小白自学]MyBatis技术五-动态SQL:where set trim标签例子
目录1.where标签2.set标签3.trim1.where标签会报错Test类2.set标签3.trim原创 2019-08-26 16:38:44 · 100 阅读 · 0 评论 -
[小白自学]MyBatis技术五-动态SQL: IF 标签例子
1.查询两条sql语句Test类2.多条sql语句变得难以维护,可以用动态SQL的if标签test类原创 2019-08-26 15:09:33 · 107 阅读 · 0 评论 -
[小白自学]MyBatis技术四:一对多,多对一,多对多
1.一对多Product类package com.how2java.pojo;public class Product { private int id; private String name; private float price; public int getId() { return id; } public void setId(int id)...原创 2019-08-26 14:57:16 · 144 阅读 · 0 评论 -
[小白自学]MyBatis技术三:多条件查询和模糊查询实例
1.模糊查询sql语句测试类结果:数据库:2.多条件查询:因为是多个参数,而selectList方法又只接受一个参数对象,所以需要把多个参数放在Map里,然后把这个Map对象作为参数传递进去...原创 2019-08-26 14:17:15 · 144 阅读 · 0 评论 -
(第七周)8.26 早上 Mybatis学习(运用到了配置andJUnit测试类)
目录1.目录结构图2.准备数据库and数据库的配置文件3.写全局配置mybatis-config.xml4.写Bean类实体类5.写实体类对应的mapper.java6.写实体类对应的mapper.xml7.创建JunitTest类进行测试8.运行结果1.目录结构图2.准备数据库and数据库的配置文件3.写全局配置mybat...原创 2019-08-26 13:53:32 · 96 阅读 · 0 评论 -
[小白自学]MyBatis技术(二):CRUD(创建:Create, 读取:Read,更新:Update,删除: Delete)
1.通过Mybatis进行CRUD(创建:Create, 读取:Read,更新:Update,删除: Delete)一套操作,建立在上一个知识点[小白自学]MyBatis技术(一)的基础上进行。修改Category.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//...原创 2019-08-25 20:01:39 · 290 阅读 · 0 评论 -
Mybatis lazyLoadingEnabled延迟加载和aggressiveLazyLoading配置
一、什么是延迟加载 resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。需求:如果查询订单并且关联查询用户信息。如果先查询订单信息即可满足要求,当我们需要查询用户信息时再查询用户信息。把对用户信息的按需去查询就是延迟加载。延迟加载:先从单表查询、需要时再从关联表去关...转载 2019-08-28 19:41:38 · 3727 阅读 · 1 评论