![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Mybatis
J a y
这个作者很懒,什么都没留下…
展开
-
Mybatis04—延迟加载
我们已经可以实现Mybatis中一对一,一对多,多对多关系的配置及实现,可以实现对象的关联查询。实际开发过程中很多时候我们并不需要总是在加载用户信息时就一定要加载他的账户信息。延迟加载:就是在需要用到数据时才进行加载,不需要用到数据时就不加载数据。好处:先从单表查询,需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。坏处:因为只有当需要用到数据时,才会进行数据库查询,这样在大批量数据查询时,因为查询工原创 2020-08-07 17:32:07 · 189 阅读 · 0 评论 -
Mybatis04—注解开发实现CRUD以及实现一对一、一对多及多对多复杂关系映射
Mybatis注解开发mybatis常用注解说明Mybatis注解实现CRUD注解实现一对一复杂关系映射注解实现一对多复杂关系映射mybatis基于注解的二级缓存mybatis常用注解说明@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:实现查询@Result:实现结果集封装@Results:可以与@Result一起使用,封装多个结果集@ResultMap:实现引用@Results定义的封装@One:实现一对一结果集封装@Many:实现一对多结果原创 2020-08-07 17:15:48 · 300 阅读 · 0 评论 -
Mybatis详解—@SelectKey注解
SelectKey 元素的属性SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题。数据库主键包括自增和非自增,有时候新增一条数据不仅仅知道成功就行了,后边的逻辑可能还需要这个新增的主键,这时候再查询数据库就有点耗时耗力,我们可以采用selectKey来帮助我们获取新增的主键。属性描述keyProperty表示查询结果赋值给代码中的哪个对象keyColumn表示将查询结果赋值给数据库表中哪一列resultType填入 keyPr原创 2020-08-07 16:03:04 · 4443 阅读 · 5 评论 -
Mybatis04—详解一级缓存和二级缓存
Mybatis缓存Mybatis一级缓存Mybatis二级缓存Mybatis一级缓存编写用户持久层Dao接口:public interface IUserDao { /** * 查询所有用户,同时获取到用户下所有账户的信息 * @return */ List<User> findAll(); /** * 根据id查询用户信息 * @param userId * @return */ Us原创 2020-08-05 17:14:06 · 295 阅读 · 0 评论 -
Mybatis—创建Mybatis案例表
创建User表CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(32) NOT NULL COMMENT '用户名称', `birthday` datetime default NULL COMMENT '生日', `sex` char(1) default NULL COMMENT '性别', `address` varchar(256) default NULL COMMEN原创 2020-08-04 17:15:46 · 197 阅读 · 0 评论 -
Mybatis03—多表查询之(一对一、一对多、多对多)
Mybatis多表查询Mybatis 多表查询之一对一Mybatis 多表查询之一对多Mybatis 多表查询之多对多Mybatis 多表查询之一对一因为一个账户信息只能供某个用户使用,所以从查询账户信息出发关联查询用户信息为一对一查询账户信息实体类:public class Account implements Serializable { private Integer id; private Integer uid; private double money;原创 2020-08-04 16:19:37 · 198 阅读 · 0 评论 -
Mybatis03—动态SQL语句(if、where、foreach)
动态SQL之<if>标签持久层Dao接口: List<User> findUserByCondition(User user);持久层Dao映射配置: <select id="findUserByCondition" resultMap="userMap" parameterType="com.review.domain.User"> select * from user where 1=1 <if test="user原创 2020-08-04 15:43:19 · 187 阅读 · 0 评论 -
Mybatis03—commit事务控制
Mybatis提交事务@After//在测试方法执行完成之后执行 public void destory() throws Exception { //事务的提交 session.commit(); //7.释放资源 session.close(); in.close(); }观察在它在控制台输出的结果:这是我们的Connection的整个变化过程,通过分析我们能够发现之前的CUD(增加、更新、删除)操原创 2020-08-03 15:18:34 · 735 阅读 · 0 评论 -
Mybatis02—SqlMapConfig.xml的配置和mappers属性
在使用properties标签配置时,我们可以采用两种方式指定属性配置。第一种:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration> <en原创 2020-08-01 17:43:55 · 157 阅读 · 0 评论 -
Mybatis02—基于动态代理Dao实现CRUD操作(XML配置文件开发模式)
属性作用:1、resultType属性:用于指定结果集的类型。2、parameterType属性:用于指定传入参数的类型。3、sql语句中使用#{}字符:它代表占位符,相当于原来jdbc部分所学的?,都是用于执行语句时替换实际的数据。具体的数据是由#{}里面的内容决定的。4、#{}中内容的写法: 由于数据类型是基本类型,所以此处可以随意写。5、在实现增删改时一定要去控制事务的提交,在mybatis中实现事务提交的方法:session.commit();持久层接口IUserDao.javap.原创 2020-08-01 16:42:56 · 179 阅读 · 0 评论 -
Mybatis01—基于注解的Mybatis开发
我们只需要编写Dao接口并且按照mybatis要求编写两个配置文件(IUserDao.xml和SqlMapConfig.xml),就可以实现Mybatis的开发。这远比用jdbc编写来实现功能方便多了。(我们使用注解之后,将变得更为简单,只需要编写一个mybatis配置文件就够了。)所以本文我们来讲解基于注解的Mybatis开发移除xml的映射配置(IUserDao.xml)在持久层接口中添加注解public interface IUserDao { @Select("select *原创 2020-07-31 01:21:43 · 164 阅读 · 0 评论 -
Mybatis01—Mybatis开发
首先需要创建一个Maven工程,如何创建会在另一篇博文里介绍对pom.xml文件进行相应配置,如下:编写一个实体类(User)package com.review.domain;import java.util.*;public class User { private Integer id; private String username; private Date birthday; private String sex; private St.原创 2020-07-31 00:52:03 · 146 阅读 · 0 评论