mybatis
奥术大师40
这个作者很懒,什么都没留下…
展开
-
mybatis配置懒加载,分步查询,使用Springmvc 以json返回出现异常
Could not write JSON: No serializer found for class org.apache.ibatis.executor.loader.javassist.JavassistProxyFactory$EnhancedResultObjectProxyImpl and no properties discovered to create BeanSerializ...原创 2020-03-31 12:10:28 · 324 阅读 · 0 评论 -
mybatis 代码生成器及多表联查的细节
在使用mybatis代码生成器时,若生成的字段要为布尔类型,则在设计表时,将字段属性设置为tinyint 长度设为1 这样 生成的domain中的 相应字段类型为布尔类型 如数据库中的字段类型为date或者datetime类型 该如何将其转成json类型传到前端? 在实体类的字段上加上 @JsonFormat(pattern = "yyyy-MM-dd",timezon...原创 2019-02-26 16:56:01 · 3599 阅读 · 0 评论 -
MyBatis 核心配置文件及属性
properties:定义并读取属性文件<properties resource="db.properties"/>settings:这是MyBatis中极为重要的调整设置,它会改变MyBatis的运行行为 <!--配置sql打印--> <settings> <setting name="logImpl" ...原创 2019-01-09 17:35:55 · 572 阅读 · 0 评论 -
MyBatis Mapper动态代理规则及动态代理的调用
1.对应的书写SQL语句的xml文件中的nameapsce必须为接口的全路径2.接口中的方法名称必须和xml中对应的ID相同3.xml中的parameterType必须和接口中的参数类型一致 当传递多个参数时parameterType可以省略不写4.xml中的ResultType必须和接口中的返回值类型一致例如:对于一个客户表 实现其CRUD其Custom...原创 2019-01-09 15:45:44 · 452 阅读 · 0 评论 -
MyBatis 获取最后插入的ID
需求:当向表中插入一条数据后,获得该条数据的idkeyColmun 要获取哪一列的数据(哪一列的数据是id)keyProperty 要把该属性(id)赋值给哪个字段resultType 返回类型order 是在插入前获得还是插入后获得 <insert id="insertCustomer" parameterType="com.bullet.domain...原创 2019-01-09 14:40:47 · 2581 阅读 · 0 评论 -
MyBatis #{} ${}
#{}表示一个占位符号自动进行java类型和jdbc类型转换可以有效防止SQL注入可以接受简单类型或者pojo属性值如果parameterType传输单个数据类型,#{}括号中可以是value或其他名称 SELECT * FROM `customer` where cust_name like '%#{value}%'; SELECT * FROM `custom...原创 2019-01-09 11:28:50 · 1381 阅读 · 0 评论 -
MyBatis 配置文件及创建session工厂
1.数据库的配置文件 全局配置文件 SqlMappingConfig.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org...原创 2019-01-09 10:38:05 · 1165 阅读 · 0 评论 -
MyBatis 输出类型
MyBatis的输出类型类型有三种 ,分别是:输出简单类型、Map、resultMap输出简单类型:相应的Mapper接口public Integer getAccountCustomer();对应的xml中的SQL: <select id="getAccountCustomer" resultType="Integer"> select...原创 2019-01-14 11:28:09 · 496 阅读 · 0 评论 -
MyBatis Mapper 传递多个参数
在pojo类对应的映射文件中,对应的参数类型可以省略。传递方式1. 接口正常书写,映射文件中SQL语句的占位符必须用 arg0 agr1…,或param1 param2…接口:public Customer getCustomerWithID(Integer id,String name);对应的配置文件中的SQL语句: &amp;lt;select id=&quot;getCustomer...原创 2018-12-26 09:59:58 · 4954 阅读 · 1 评论 -
MyBatis缓存
一级缓存 sqlSession级别的一级缓存失效:1.如果在查询之前执行了增、删、改操作,缓存就会失效2.手动清空缓存 sqlsession.clearCache();3.两次查询的条件不一样,缓存也会失效4.如果两个查询在不同的sqlsession中二级缓存 mapper级别的(sqlsession关闭 但可以在同一个mapper缓存中拿到数据)二级缓存...原创 2018-12-27 15:08:25 · 85 阅读 · 0 评论 -
MyBatis动态SQL标签
1.if标签在if标签内写上相应的条件就可以拼接SQL语句2.where标签where标签自动生成和删除where 还能删除where后的第一个and <select id="getCustomer" resultType="com.itlike.domain.Customer"> select * from `customer` ...原创 2018-12-27 12:03:22 · 158 阅读 · 0 评论 -
MyBatis一对多的左连接查询、分步查询以及插入和删除操作
例如有两张表,分别是客户表和订单表,一个客户有多个订单,一个订单属于一个客户。两个实体类Customer Order 如下:package com.itlike.domain;import lombok.Getter;import lombok.Setter;import lombok.ToString;import java.util.ArrayList;import...原创 2018-12-26 21:47:28 · 6414 阅读 · 1 评论 -
MyBatis级联多个对象属性赋值
一个客户有多个订单, 一个订单对应一个客户需求:查询一个用户,得到对应的用户及相关订单 两个实体类package com.bullet.domain;import lombok.Getter;import lombok.Setter;import lombok.ToString;import java.util.ArrayList;import java.uti...原创 2018-12-26 17:20:25 · 1100 阅读 · 0 评论 -
MyBatis分步查询及懒加载
分步查询:两个pojo类:package com.itlike.domain;import lombok.Getter;import lombok.Setter;import lombok.ToString;@Setter@Getter@ToStringpublic class Customer { private Integer cust_id; priv...原创 2018-12-26 16:01:37 · 987 阅读 · 0 评论 -
MyBatis级联一个对象属性赋值
两个pojo类如下:package com.itlike.domain;import lombok.Getter;import lombok.Setter;import lombok.ToString;@Setter@Getter@ToStringpublic class Customer { private Integer cust_id; private Str...原创 2018-12-26 14:23:52 · 2050 阅读 · 0 评论