ORM框架之MyBatis
学以致用HT
IT菜鸟。学有所思,学以致用,学无止境。
展开
-
MyBatis学习总结(九)---基于XML的多表查询(一对一、一对多、多对多)
1、一对一的关联 使用association,association元素用于处理“has-one”(一对一)这种类型关系。 作用:针对pojo对象属性的映射,它的两个主要参数此时对应的值: javaType对应pojo类名, property对应pojo的属性名, 。 示例: Employee.javapublic class Employee implement...原创 2018-12-02 13:15:16 · 1342 阅读 · 0 评论 -
SSM+Maven+MyBatis generator搭建
本文以我写的一个小例子,该例子是基于Maven搭建的SSM框架,并且使用了MyBatis generator插件。 开发环境: 1)Win10 2)Eclipse Java EE IDE for Web Developers. Version: Oxygen.3a Release (4.7.3a) 3)JDK1.8 4) Tomcat8.5 ...原创 2019-04-21 17:58:41 · 266 阅读 · 0 评论 -
Eclipse中安装使用MyBatis generator
Mybatis属于半自动ORM,在使用这个框架中,工作量最大的就是书写Mapping的映射文件,由于手动书写很容易出错,我们可以利用Mybatis-Generator来帮我们自动生成文件,它能够帮我们自动生成相应的实体类、Dao接口以及映射文件。1.Eclipse中安装mybatis generator插件mybatis generator下载地址:https://github.c...原创 2019-03-25 17:45:44 · 2485 阅读 · 0 评论 -
搭建简单SSM框架
SSM: Spring + Spring MVC + MyBatisSpring:Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基...原创 2019-03-25 16:06:37 · 193 阅读 · 0 评论 -
MyBatis学习总结(八)---缓存机制
mybatis提供了缓存机制减轻数据库压力,提高数据库性能mybatis的缓存分为两级:一级缓存、二级缓存一级缓存是SqlSession级别的缓存,缓存的数据只在SqlSession内有效二级缓存是mapper级别的缓存,同一个namespace公用这一个缓存,所以对SqlSession是共享的一级缓存: mybatis的一级缓存是SqlSession级别的缓存,在操作数据库...转载 2018-11-29 19:39:33 · 146 阅读 · 0 评论 -
MyBatis学习总结(七)---动态sql
MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。虽然在以前使用动态 SQL 并非一件易事,但正是 MyBatis 提供了可以被用在任意 SQL 映射语句中的...原创 2018-11-29 19:38:58 · 871 阅读 · 0 评论 -
MyBatis学习总结(六)---使用log4j2将sql语句执行记录输出控制台和文件中
在上一篇博客中我简单的介绍了在MyBatis中如何使用日志,并给出了一个在MyBatis中使用log4j的示例。 MyBatis中日志的使用及使用log4j示例 下面介绍在MyBatis中如何使用log4j2将sql语句执行记录输出控制台和文件中。 1.示例项目目录: 2.先导入log4j2所需要的两个jar包,如:log4j-api-2.11.1.jar...原创 2018-11-29 19:37:58 · 6171 阅读 · 1 评论 -
MyBatis学习总结(五)---MyBatis中日志的使用及使用log4j示例
Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:SLF4J Apache Commons Logging Log4j 2 Log4j JDK logging MyBatis 内置日志工厂基于运行时自省机制选择合适的日志工具。它会使用第一个查找得到的工具(按上文列举的顺序查找)。如果一个都未找到,日志功能就会被禁用。 ...原创 2018-11-29 19:37:28 · 1270 阅读 · 0 评论 -
MyBatis学习总结(四)---基于注解方式实现CRUD操作
在最初设计时,MyBatis是一个XML驱动的框架。配置信息是基于XML的,而且映射语句也是定义在XML中的。所以之前基本都采用XML的方式来配置信息,而到了MyBatis3,有新的可用的选择了。MyBatis3构建在基于全面而且强大的Java配置API之上。这个配置API是基于XML的MyBatis配置的基础,也是新的基于注解配置的基础。注解提供了一种简单的方式来实现简单映射语句,...原创 2018-11-29 19:36:43 · 550 阅读 · 0 评论 -
MyBatis学习总结(三)---面向接口编程
1.示例项目目录: 2.相关接口和映射文件之间的规则 (1) 在mapper.xml中将namespace设置为对应的mapper.java(Dao接口)的全限定名 。如: (2) 将mapper.java接口的方法名和mapper.xml中statem...原创 2018-11-29 19:35:54 · 352 阅读 · 0 评论 -
MyBatis学习总结(二)---优化MyBatis配置文件中的配置
借助properties来优化MyBatis配置文件中的配置 之前我们是直接把数据库的连接配置信息直接放在MyBatis的xml配置文件中的,如:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "h...原创 2018-11-29 19:34:58 · 159 阅读 · 0 评论 -
MyBatis学习总结(一)---简单配置使用(基于XML方式实现CRUD及加载配置文件的三种方式)
一、Mybatis简介 Mybatis本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。M...原创 2018-11-29 19:33:55 · 454 阅读 · 0 评论 -
MyBatis学习总结(十)---基于注解的多表查询(一对一,一对多,多对多)
基于XML的多表联合查询可参考:https://blog.csdn.net/qq_40348465/article/details/84677890 简单介绍所用的一些注解:(1)@Results的基本用法。当数据库字段名与实体类对应的属性名不一致时,可以使用@Results映射来将其对应起来。column为数据库字段名,porperty为实体类属性名,jdbcType为数据库字段数据...原创 2018-12-02 19:12:47 · 11554 阅读 · 4 评论 -
MyBatis学习笔记之#{ }和${ }的区别
MyBatis中#{ }和${ }都可以用来动态传递参数,补全SQL语句,但它们区别也很明显。(1)#{"参数名"}在SQL中相当于一个参数占位符“?”,用来补全预编译语句。它补全预编译语句时,可以理解为在此参数值两端加了单引号。举例如下,当需要动态的按id查询用户信息时。select * from my_user where id = #{id}; 如果我们为id赋值为1,这条S...转载 2018-12-02 15:23:42 · 119 阅读 · 0 评论 -
MyBatis学习笔记之@Results用法总结
MyBatis中使用@Results注解来映射查询结果集到实体类属性。(1)@Results的基本用法。当数据库字段名与实体类对应的属性名不一致时,可以使用@Results映射来将其对应起来。column为数据库字段名,porperty为实体类属性名,jdbcType为数据库字段数据类型,id为是否为主键。@Select({"select id, name, class_id f...转载 2018-12-02 15:19:53 · 12578 阅读 · 1 评论 -
解决MyBatis中做Like模糊查询参数问题
1. 参数中直接加入%% param.setUsername("%CD%"); param.setPassword("%11%"); <select id="selectPersons" resultType="person" parameterType="person"> select id,sex,age,username,password from...原创 2019-04-21 16:49:41 · 2085 阅读 · 0 评论