mapper

Springboot2 注解@Import的使用

不羁岁月 提交于 2020-02-15 19:11:52
@Import 可以导入 bean 或者 @Configuration 修饰的配置类。如果配置类在标准的 springboot 的包结构下,就是 SpringbootApplication 启动类在包的根目录下,配置类在子包下。就不需要使用 @Import 导入配置类,如果配置类在第三方的 jar 下,我们想要引入这个配置类,就需要 @Import 对其引入到工程中才能生效。因为这个时候配置类不再 springboot 默认的扫描范围内。 另外, @Import 相当于 Spring xml 配置文件中的 <import /> 标签。 下面就看一看 @Import 的几种用法: 示例代码: 使用方法一:导入普通类 1.1 把普通的类用 @Import 导入之后成为一个 bean 。这个类并未使用 @Service 、 @Component 将其创建为 bean 。 @Getter @Setter public class MySqlConn { private String driverClass = "xxxx"; private String url = "jdbc:mysql://localhost:3306/mydb"; private String userName = "root"; private String password = "root"; } 1.2 在

hrm-day02

本秂侑毒 提交于 2020-02-15 16:09:16
一、克隆、完成初始化 依次执行: 克隆 拷贝代码 提交 忽略-target 忽略target的方法: 第一步,右键打开git bash 第二步,执行命令:touch .gitignore 第三步,将需要忽略的target写入.gitignore中 二、mybatisPlus入门 1.简介 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题 支持 XML 热加载:Mapper 对应的

Hrm-02

杀马特。学长 韩版系。学妹 提交于 2020-02-15 05:25:10
MybatisPlus入门 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求 支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错 支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer2005、SQLServer 等多种数据库 支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题 支持 XML 热加载:Mapper 对应的 XML 支持热加载,对于简单的 CRUD 操作,甚至可以无 XML 启动 支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作 支持自定义全局通用操作:支持全局通用方法注入(

Spring_Boot用MyBatis_Plus生成代码

天大地大妈咪最大 提交于 2020-02-14 00:35:41
package com.kede.springBoot.generator; import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException; import com.baomidou.mybatisplus.core.toolkit.StringPool; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.generator.AutoGenerator; import com.baomidou.mybatisplus.generator.InjectionConfig; import com.baomidou.mybatisplus.generator.config.*; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy; import com.baomidou.mybatisplus.generator.engine.FreemarkerTemplateEngine;

9.Mybatis缓存

£可爱£侵袭症+ 提交于 2020-02-13 01:46:38
转载:https://blog.kuangstudy.com/index.php/archives/508/ 一.缓存 1.简介 什么是缓存 [ Cache ]? 存在内存中的临时数据。 将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。 为什么使用缓存? 减少和数据库的交互次数,减少系统开销,提高系统效率。 什么样的数据能使用缓存? 经常查询并且不经常改变的数据 2.Mybatis缓存 MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。 MyBatis系统中默认定义了两级缓存: 一级缓存 和 二级缓存 默认情况下,只有一级缓存开启。(SqlSession级别的缓存,也称为本地缓存) 二级缓存需要手动开启和配置,他是基于namespace级别的缓存。 为了提高扩展性,MyBatis定义了缓存接口Cache。我们可以通过实现Cache接口来自定义二级缓存 3.一级缓存 一级缓存也叫本地缓存: 与数据库同一次会话期间查询到的数据会放在本地缓存中。 以后如果需要获取相同的数据,直接从缓存中拿,没必须再去查询数据库; (1)搭建项目mybatis_cache UserMapper.java接口: 1 //根据ID查询用户 2

7.Mybatis的一对多,多对一处理

瘦欲@ 提交于 2020-02-12 22:08:36
一.代码简化工具Lombok(只要了解,一般不用) Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添加相应的getter/setter,也许还要去写构造器、equals等方法,而且需要维护,当属性多时会出现大量的getter/setter方法,这些显得很冗长也没有太多技术含量,一旦修改属性,就容易出现忘记修改对应方法的失误。 Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。这样就省去了手动重建这些代码的麻烦,使代码看起来更简洁些。 1.使用步骤: (1)在IDEA中安装Lombok插件 (2)在项目中导入lombok的jar包 1 <dependencies> 2 <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> 3 <dependency> 4 <groupId>org.projectlombok</groupId> 5 <artifactId>lombok</artifactId> 6

mybatis - buildSqlSessionFactory()

半世苍凉 提交于 2020-02-12 18:58:53
buildSqlSessionFactory() 这个方法比较长, 干的事情也比较多. 包括一些别名, 插件, 类型处理器等的解析. 从主流程上来看, 最主要的其实是干了两件事:1. 对 mapper.xml 文件进行解析2. 使用 SqlSessionFactoryBuilder 创建 sqlSessionFactorymapper.xml的扫描工作不在这个方法里, 但是放到这里来看, 会更加清晰一点. 1. mapperLocation 的解析 @Bean @ConditionalOnMissingBean public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception { SqlSessionFactoryBean factory = new SqlSessionFactoryBean(); ......if (!ObjectUtils.isEmpty(this.properties.resolveMapperLocations())) { factory.setMapperLocations(this.properties.resolveMapperLocations()); } return factory.getObject(); } 在

SpringBoot图文教程「概念+案例 思维导图」「基础篇上」

跟風遠走 提交于 2020-02-12 12:35:45
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 每个知识点配套自测面试题,学完技术自我测试 本文初学向,所以希望文中所有的代码案例都能敲一遍 大哥大姐新年好,点赞转发不要少 **文本已收录至GitHub开源仓库 Lu_JavaNodes 码云仓库地址 Lu_JavaNodes ,**包含教程涉及所有思维导图,案例代码和后续讲解视频,欢迎Star增砖添瓦。 前言 庚子鼠年,封村儿,在试过了睡觉,打麻将,做凉皮,做蛋糕之后, 我不由的陷入了对人生和社会的大思考 两年的开发经验和三年的大数据讲师经验告诉我 ,是时候写些什么了,我也早觉得有写些东西的必要了。我向来是不惮以最多的无聊揣测这个假期的,但我没想到……(不能再往下了,再往下真就算抄袭了) 于是决定将自己的的毕生功力汇聚整理成册, 写出《图文教程》系列Java技术学习秘籍 ,本功法力求 『图文并茂』 『简单易懂』,概念和代码实践相结合,每个知识点辅助以自测面试题,希望大家通过本系列教程能够快乐学Java,从练气到飞升。 本期选择的技术是SpringBoot ,SpringBoot 现如今已是Java程序员的必备修炼功法,具备SpringBoot大成的开发功力,才能行走江湖,纵横大厂小派而不惧需求。 在正式开始学习之前,先通过思维导图了解本教程的功法纲要 简单说明,教程分为基础篇

SpringBoot2.x学习-集成Mybatis框架

a 夏天 提交于 2020-02-12 11:31:19
一、添加启动依赖 在SpringBoot工程的maven文件里面添加依赖如下: <properties> <java.version>1.8</java.version> <druid.version>1.1.13</druid.version> <mybatis.version>2.1.0</mybatis.version> <druid.version>1.1.21</druid.version> </properties> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis.version}</version> </dependency> 这个启动器相关依赖如下 二、配置 1.在启动类*Application配置@MapperScan注解,告诉Spring Boot扫描哪些包下面的Mapper接口。如下 @SpringBootApplication @MapperScan(basePackages = "com.soft.fireadmin.platform.*.dao") public class FireAdminApplication { public static

使用Limit实现分页

末鹿安然 提交于 2020-02-12 11:28:27
limit语法 #语法 SELECT * FROM table LIMIT stratIndex,pageSize SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15 #如果只给定一个参数,它表示返回最大的记录行数目: SELECT * FROM table LIMIT 5; //检索前 5 个记录行 #换句话说,LIMIT n 等价于 LIMIT 0,n。 1、 创建接口,参数为map //选择全部用户实现分页 List<User> selectUser(Map<String,Integer> map); 2、 修改Mapper.xml文件 ,绑定接口 <select id="selectUser" parameterType="map" resultType="user"> select * from user limit #{startIndex},#{pageSize} </select> 3、编写测试类 //分页查询 , 两个参数startIndex , pageSize @Test public void testSelectUser() { SqlSession session = MybatisUtils.getSession(); UserMapper mapper = session.getMapper