MyBatis
文章平均质量分 92
记录学习和使用Mybatis过程中遇到的困难,方便自己复习使用Mybatis。
canNotCtrlSelf
飞鸟不知白云的过往,白云不问飞鸟的去向。
展开
-
MyBatis学习笔记(全)
文章目录MyBatis概述软件开发分层的重要性Jdbc操作数据库的问题分析案例一:MyBatis入门案例MyBatis入门案例中的设计模式分析案例二:MyBatis注解开发入门自定义MyBatis框架mybatis在使用代理dao进行增删改查时做了哪些事?创建代理对象的分析案例三:自定义MyBatis的实现案例四:MyBatis完成CRUD操作映射配置文件中的参数使用注意ParameterType传递参数传递pojo包装对象MyBatis的输出结果封装resultType配置结果类型实体类属性名和数据库表列原创 2020-07-28 01:28:47 · 537 阅读 · 0 评论 -
MyBatis--11注解开发
MyBatis注解开发中常用注解的说明@Insert:实现新增@Update:实现更新@Delete:实现删除@Select:实现查询@Result:实现结果集封装@Results:可以与@Result 一起使用,封装多个结果集@ResultMap:实现引用@Results 定义的封装@One:实现一对一结果集封装@Many:实现一对多结果集封装@SelectProvider: 实现动态 SQL 映射@CacheNamespace:实现注解二级缓存的使用使用注解完成基础CRUD开发原创 2020-07-28 01:05:03 · 132 阅读 · 0 评论 -
MyBatis--10使用MyBatis的二级缓存
开启mybatis全局二级缓存的支持,向SqlMapConfig.xml文件添加配置<settings> <setting name="cacheEnabled" value="true"/></settings>开启mapper的二级缓存的支持,在IUserDao.xml文件中添加配置<!--开启此mapper的二级缓存的支持--><cache/>在IUserDao.xml文件配置statement上面的useCache属原创 2020-07-27 19:46:51 · 93 阅读 · 0 评论 -
MyBatis--09验证MyBatis一级缓存
新建实体类Userpackage com.cncs.domain;import java.util.Date;import java.util.List;public class User { private int id; private String username; private Date birthday; private String sex; private String address; public int getId() {原创 2020-07-27 19:09:32 · 239 阅读 · 0 评论 -
MyBatis--08如何使用延迟加载
通过官网找到XML配置,配置相关的属性开启延迟加载。点击进入MyBatis官网使用association实现延迟加载需求:查询账户时关联查询用户信息,需要用到用户数据再查询用户数据。分析:要使用延迟加载,sql语句中就只能查询account表,不能再出现查询多张表或者外连接查询,想要查询用户信息是通过配置association的属性来配置延迟加载的信息。主要配置包括resultMap中的association,通过配置它定位关联查询语句findUserById(),实现查询用户。配原创 2020-07-27 16:43:29 · 92 阅读 · 0 评论 -
MyBatis--07JNDI扩展知识
文章目录JNDI概述JNDI数据源的使用方法JNDI概述JNDI:Java Naming and Directory Interface。是SUN公司推出的一套规范,属于JavaEE技术之一。目的是模仿windows系统中的注册表。windows系统中的数据存储方式:路径+文件名+变量名称组成key,用于定位变量路径,数据是value。下图是windows中注册表编辑器定位一个变量和确定数据值的实例。key:计算机\HKEY_CURRENT_USER\Control Panel\Accessi原创 2020-07-27 14:03:00 · 149 阅读 · 0 评论 -
MyBatis--06多表查询操作
文章目录一对一查询方式一方式二一对多查询多对多查询一对一查询需求:每查询一个账户时,同时查询出他的用户信息分析:确定用户和账户之间的关系,一个账户只能属于一个用户,账户和用户之间是多对一,在MyBatis中没有多对一,认定为一对一。方式一方式一的核心是新建一个类,该类的属性包含所有要查询的两个表的列,用于配置封装结果。数据准备表1,account(用户表)表2,account(账户表)编写查询的sql语句select a.*,u.username,u.address from acc原创 2020-07-27 11:57:04 · 153 阅读 · 0 评论 -
MyBatis--05通过实现类完成dao层的开发
以下代码在MyBatis–04CRUD操作的基础上修改。持久层接口修改为package com.cncs.dao;import com.cncs.domain.User;import java.util.List;public interface IUserDao { /** * 查询所有 * @return */ List<User> findAll(); /** * 保存用户 * @param use原创 2020-07-20 18:21:04 · 111 阅读 · 0 评论 -
MyBatis--04CRUD操作
以下操作在MyBatis–01入门案例的基础上修改。在MyBatisTest中删除public static void main()方法。PS:添加,更新和删除数据库中的数据需要手动调用commit()。保存用户在持久层接口中添加方法/** * 保存用户 * @param user */void saveUser(User user);在映射配置文件中添加配置<!--保存用户--><insert id="saveUser" parameterType="com.c原创 2020-07-20 18:19:03 · 116 阅读 · 0 评论 -
MyBatis--03自定义MyBatis的实现
以下操作在下面案例的基础上修改。在原案例基础上修改修改的地方有:(1)删除mybatis依赖<dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version></dependency>(2)新增dom4j和jaxen依赖<!--原创 2020-07-20 18:12:25 · 301 阅读 · 0 评论 -
MyBatis--01入门案例
mybatis01-入门案例案例所用工具:IDEA2018,Navicat1 准备案例所需数据打开navicat,新建数据库mybatis_learn.在数据库中新建查询.CREATE TABLE `user` ( `id` int(11) NOT NULL auto_increment, `username` varchar(32) NOT NULL COMMENT '用户名称...原创 2020-02-01 00:23:31 · 331 阅读 · 0 评论