mapper

转JSON 工具类

戏子无情 提交于 2019-12-20 00:17:55
/* ** Copyright (c) 2005, 2014 springside.github.io Licensed under the Apache License, Version 2.0 (the "License"); * ** / package com.amway.common.util; import java.io.IOException; import java.util.Collection; import java.util.Map; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.fasterxml.jackson.annotation.JsonInclude.Include; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson

Mybatis框架介绍及其入门

人走茶凉 提交于 2019-12-19 05:44:46
在前面介绍了原生JDBC的缺陷,那么对于弥补相应缺陷的框架:就是目前最流行的————Mybatis框架 Mybatis框架介绍及其入门 Mybatis框架介绍 Mybatis原本是Apache软件基金会的一个开源项目叫做iBatis,2010年这个项目由Apache迁移到了goole code管理才改名为Mybatis,2013年又迁移到了GitHub。 #Github代码托管平台:就是互联网网站,上面放东西的 注意:如果以后想从事开发工作的话,在招聘信息和面试时候可能问你会ibatis吗 ?记得它就是Mybatis Mybatis是一个优秀的持久层框架(Dao层框架),它是对JDBC的封装,使得开发者只需要关注Sql语句(业务)本身即可,无需开发者处理加载驱动、获取连接、创建Statement等繁琐的过程。 Mybatis 最大的特点是把Sql 语句写在XML 配置文件当中 。而且Mybatis执行完Sql语句之后可以以对象形式返回(实体类/实体类集合等) ORM:Object/Relation Mapping 对象/关系映射 ORM思想:将数据库中的关系数据表映射为JAVA中的对象,把对数据表的操作转换为对对象的操作,实现面向对象编程。因此ORM的目的是使得开发人员以面向对象的思想来操作数据库 Hibernate框架是一个 全自动的 ORM 持久层框架,只需要编写POJO

初始MyBatis

橙三吉。 提交于 2019-12-19 02:30:46
为什么使用框架 框架的优势如下: 1.不用再考虑公共问题,框架已经帮我们做好了。 2.可以专心用于业务逻辑,保证核心业务逻辑的开发质量。 3.结构统一,便于学习和维护。 4.框架中继承了前人的经验,可以帮助新手写出稳定、性能优良而且结构优美的高质量程序。 什么是框架 框架(Framework)是一个提供了可重用的公共结构的半成品。 框架就是应用程序的“骨架”,开发者可以在这个骨架上加入自己的东西。 2.MyBatis介绍及其环境搭建 MyBatis前身是iBatis,本是Apache的一个开源的项目 ORM框架 实体类和SQL语句之间建立映射关系 特点 基于SQL语法,简单易学 能了解底层封装过程 SQL语句封装在配置文件中,便于统一管理与维护,降低程序的耦合度 方便程序代码调试 什么是数据持久化 数据持久化就是将内存中的数据模型转换为存储模型,已经将存储模型转换为内存中的数据模型的统 称。 什么是ORM ORM(Object/Relational Mapping)即对象/关系映射,是一种持久化技术。 在对象模型和关系数据库模型之间建立起对应关系,并且提供了一种机制,通过JavaBean对象去操作 数据库表中的数据。 MyBatis通过简单的XML或者注解进行配置和原始映射,将实体类和SQL语句之间建立映射,是一种半 自动化的ORM实现。 MyBatis环境搭建 1.下载jar包

深入理解 MyBatis 启动流程

此生再无相见时 提交于 2019-12-19 01:40:11
环境简介与入口 记录一下尝试阅读Mybatis源码的过程,这篇笔记是我一边读,一遍记录下来的,虽然内容也不多,对Mybatis整体的架构体系也没有摸的很清楚,起码也能把这个过程整理下来,这也是我比较喜欢的一种学习方式吧 单独Mybatis框架搭建的环境,没有和其他框架整合 入口点的源码如下: @Test public void test01() { try { this.resourceAsStream = Resources.getResourceAsStream("SqlMapConfig.xml"); // 2. 创建SqlSessionFactory工厂 this.factory = new SqlSessionFactoryBuilder().build(resourceAsStream); // 3. 创建sqlSession // todo 怎么理解这个sqlSession? 首先它是线程级别的,线程不安全, 其次它里面封装了大量的CRUD的方法 this.sqlSession = factory.openSession(); IUserDao mapper = this.sqlSession.getMapper(IUserDao.class); List<User> all = mapper.findAll(); for (User user : all) {

springboot 配置二级缓存

房东的猫 提交于 2019-12-18 20:48:13
springBoot中配置mybatis的二级缓存 2018年01月22日 11:45:37 Ting.Xue(Martin.Xue) 阅读数:5604 更多 个人分类: SSM的Spring框架 Mybatis 在结合springBoot和mybatis的时候想用二级缓存怎么办,请耐心看完。 什么是延迟加载 resultMap中的association和collection标签具有延迟加载的功能。 延迟加载的意思是说,在关联查询时,利用延迟加载,先加载主信息。使用关联信息时再去加载关联信息。 设置延迟加载 需要在SqlMapConfig.xml 文件中,在<settings> 标签中设置下延迟加载。 lazyLoadingEnabled、aggressiveLazyLoading 设置项 描述 允许值 默认值 lazyLoadingEnabled 全局性设置懒加载。如果设为‘false’,则所有相关联的都会被初始化加载。 true | false false aggressiveLazyLoading 当设置为‘true’的时候,懒加载的对象可能被任何懒属性全部加载。否则,每个属性都按需加载。 true | false true 1 2 3 4 5 6 7 8 9 10 <!-- 开启延迟加载 --> < settings > <!-- lazyLoadingEnabled

Mybatis配置文件详解

吃可爱长大的小学妹 提交于 2019-12-18 20:14:00
一、SqlSession的使用范围说明  1、SQLSessionFactoryBuilder   通过SqlSessionFactoryBuilder创建会话工厂SqlSessionFactory,将SqlSessionFactoryBuilder 当成一个工具类使用即可 ,不需要使用单例模式管理,在创建SqlSessionFactory的时候,只需要new一次SqlSessionFactoryBuilder即可。  2、SqlSessionFactory   通过SqlSessionFactory创建SqlSession,使用 单例模式 来管理SqlSessionFactory(工厂一旦创建,只使用一个实例)。  3、SqlSession   SqlSession是一个面向用户(程序员)的接口。   SqlSession中提供了很多操作数据库的方法:如selectOne(返回单个对象)、selectList(返回单个或多个对象)。   SqlSession是线程不安全的,因为在SqlSession中除了有接口中的方法(操作数据库的方法)之外。还有数据域属性。   SqlSession的最佳应用场合是在方法体内,将其定义为局部变量来使用。 二、SqlMapConfig.xml配置文件详解  1、Properties属性   Properties属性用来加载属性配置文件。 <!--

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

限于喜欢 提交于 2019-12-18 19:03:56
测试dao中的方法报错 报错信息: dao: Test: 配置文件: 出现这个错误的原因就是配置文件中mapper文件的路径写错了: mybatis.mapper-locations=classpath:mapper/*.xml 目录中写的是mappers,文件中写的是mapper。 来源: CSDN 作者: 璃夢 链接: https://blog.csdn.net/weixin_45753869/article/details/103598685

mybatis源码阅读(一)

这一生的挚爱 提交于 2019-12-18 17:26:52
第一步开始阅读 SqlSessionFactory 的生成 一、整体梳理 // 配置文件 String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); //根据配置文件生成的SqlSessionFactory SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); public SqlSessionFactory build(InputStream inputStream, Properties properties) { return build(inputStream, null, properties); } public SqlSessionFactory build(InputStream inputStream, String environment, Properties properties) { try { // 根据输入的文件流变成了一个相当于dom对象,不过在外面封装了一层 XMLConfigBuilder parser = new XMLConfigBuilder(inputStream,

mybatis-plus的配置

霸气de小男生 提交于 2019-12-18 11:21:28
mybatis-plus: mapper-locations: classpath:/mapper/*Mapper.xml #实体扫描,多个package用逗号或者分号分隔 typeAliasesPackage: com.baomidou.springboot.db.entity typeEnumsPackage: com.baomidou.springboot.db.entity.enums global-config: #刷新mapper 调试神器 db-config: #主键类型 0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID"; id-type: id_worker #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断" field-strategy: not_empty #驼峰下划线转换 column-underline: true #数据库大写下划线转换 #capital-mode: true #逻辑删除配置 logic-delete-value: Y logic-not-delete-value: N db-type: mysql refresh: true sql-injector: com.baomidou.mybatisplus.extension.injector

常见/dev/mapper/centos-root扩容

☆樱花仙子☆ 提交于 2019-12-18 06:12:51
系统Centos 7 df -h 查看当前分区使用情况; dfisk /dev/xvda 对/dev/xvda磁盘进行操作(新建分区及格式化) n p 回车 默认分区号; 回车 默认磁盘创建开始位置; 回车 默认磁盘创建结束位置; t 设置分区类型 8e LVM类型 w 保存 重启 lvm 进入lvm管理 lvm>pvcreate /dev/sda3 创建逻辑卷 lvm>vgextend centos /dev/sda3 //将初始化过的分区加入到虚拟卷组centos lvm>vgdisplay -v lvm>lvextend -l+1298 /dev/mapper/centos-root lvm>pvdisplay //查看卷容量 lvm>quit 使用命令xfs_growfs /dev/mapper/centos-root扩展容量。 df -h 进行查看扩容之后的 来源: https://www.cnblogs.com/cf532088799/p/7450775.html