首先在mapper下面新建一个mysql.xml mysql.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace…
前言: 本项目基于maven构建,使用mybatis-spring-boot作为spring-boot项目的持久层框架 spring-boot中使用mybatis持久层框架与原spring项目使用方式和注解都不相同,需要依赖mybatis-spring-boot包 1.引入mybatis和数据库及其他项目依赖 1.1.引入mybatis依赖 <!-- mybatis-spring-boot --> <dependency> <groupId>org.mybatis.sp…
package cn.com.dyg.work.sqlgen; import cn.com.dyg.work.common.exception.DefException; import cn.com.dyg.work.common.utils.CamelAndUnderLineConverter; import com.alibaba.fastjson.JSONArray; import org.apache.ibatis.jdbc.SQL; import org.springframework…
MyBatis简单的增删改查以及简单的分页查询实现 <? 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>…
mybatis 一对多的注入 指的是连表查询时候 将不同的查询结果以列表存储对象形式 注入进去 多对一指的是 查询多条结果但都是一样的 只需注入一条…
SpringBoot 2.x 整合ElasticSearch的demo 1.配置文件application.yml信息 # Tomcat server: tomcat: uri-encoding: UTF-8 max-threads: 1000 min-spare-threads: 30 port: 8088 context-path: /lion-admin # DataSource spring: data: elasticsearch: cluster-name: elasticsearc…
简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(BasicDBList.BasicDBObject.Criteria等) 1.application.properties 1 #mongodb note:mongo3.x will not use host and port,only use uri 2 #spring.data.mongodb.hos…
SpringBoot+SpringData+Jpa进行查询修改数据库 JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分.但它又不限于EJB 3.0,你可以在Web应用.甚至桌面应用中使用.JPA的宗旨是为POJO提供持久化标准规范,由此可见,经过这几年的实践探索,能够脱离容器独立运行,方便开发和测试的理念已经深入人心了.Hibernate3.2+.TopLink 10.1.3以及OpenJPA都提供了JPA的实现. JPA的总体思想和现有Hibernate.TopLink.J…
简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(BasicDBList.BasicDBObject.Criteria等) 1.application.properties #mongodb note:mongo3.x will not use host and port,only use uri #spring.data.mongodb.host=19…
今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction 最后发现: 1.实体在前面 是使用JPA查询得出的 2.在后面update的时候,是使用mybatis去做update的 这就导致了前面的锁还没有释放,后面update的时候 就在等待锁的释放. 虽然myb…
MyBatis Generator 生成的example 使用 and or 简单混合查询 参考博客:https://www.cnblogs.com/kangping/p/6001519.html 简单介绍: Example类用于构造复杂的筛选条件 1.Criterion[标准,准则,规范,准据] 条件 Criterion是最基本,最底层的Where条件,用于字段级的筛选,例如:字段 in | not in | like | > | >= | < | <= | is not nul…
[SpringBoot 基础系列]实现一个自定义配置加载器(应用篇) Spring 中提供了@Value注解,用来绑定配置,可以实现从配置文件中,读取对应的配置并赋值给成员变量:某些时候,我们的配置可能并不是在配置文件中,如存在 db/redis/其他文件/第三方配置服务,本文将手把手教你实现一个自定义的配置加载器,并支持@Value的使用姿势 I. 环境 & 方案设计 1. 环境 SpringBoot 2.2.1.RELEASE IDEA + JDK8 2. 方案设计 自定义的配置加载,有两个…
在SpringBoot开发调试中,如果我每行代码的修改都需要重启启动再调试,可能比较费时间:SpringBoot团队针对此问题提供了spring-boot-devtools(简称devtools)插件,它试图提升开发调试的效率.@pdai SpringBoot开发 - 什么是热部署和热加载?devtool的原理是什么? 准备知识点 什么是热部署和热加载? 什么是LiveLoad? 配置devtools实现热部署 POM配置 IDEA配置 application.yml配置 使用LiveLoad…
Nebula Graph介绍和SpringBoot环境连接和查询 转载请注明来源 https://www.cnblogs.com/milton/p/16784098.html 说明 当前Nebula Graph的最新版本是3.2.1, 根据官方的文档进行配置 https://docs.nebula-graph.io/3.2.1/14.client/4.nebula-java-client/ Nebula Graph 的一些特点 支持分布式. 相对于Neo4j, TigerGraph这些图数据库,…
目录 概述 1.mybatis 2.druid 壹:spring整合 2.jdbc.properties 3.mybatis-config.xml 二:java代码 1.mapper 2.service 3.测试 贰:springboot整合 1.pom.xml 2.application.yml(resources下) 3.druid配置 4.mapper 5.测试 作者有话 概述 本文分别讲述了spring与springboot是怎么整合mybatis与druid数据源的?如果你只是想实现其…
前言 因为之前使用myeclipes的同学就知道,在使用myeclipes的时候,java文件或者jsp文件写完之后会被直接热加载到部署的容器中,从而在开发的时候,不同经常去重启项目,从而达到了增加开发效率的目的. 但是现在切换到SpringBoot之后,因为没有外部容器的支持,而且使用gradle去构建项目,再加上idea默认不会自动编译的特性,最终导致开发项目的时候需要经常重启项目,这是我们不愿意看到的. 为了提高开发效率,我们下面将优化我们的SpringBoot模版.方案经过验证,可放心使…
1 Spring boot 核心特性 自动配置:针对常见 spring 应用程序的常见应用功能,Spring boot 自动提供相应配置 起步依赖:告诉springboot 需要什么功能,他就会自动引入所需的库 Actuator:深入运行中的Spring boot 应用程序,一探究竟 开发Spring boot 项目,两种方案 1)新建一个maven项目,然后自己配置依赖,配置目录结构. 2)使用Spring initializer ,指定所需功能即可生成一个工程目录结构. 主要使用的sprin…
作者:Sans_ juejin.im/post/5d087d605188256de9779e64 一.说明 Shiro是一个安全框架,项目中主要用它做认证,授权,加密,以及用户的会话管理,虽然Shiro没有SpringSecurity功能更丰富,但是它轻量,简单,在项目中通常业务需求Shiro也都能胜任. 二.项目环境 MyBatis-Plus版本: 3.1.0 SpringBoot版本:2.1.5 JDK版本:1.8 Shiro版本:1.4 Shiro-redis插件版本:3.1.0 数据表(…
快速开始spring boot应用 官方向导搭建boot应用 地址:http://start.spring.io/ 设置项目属性: 3.解压,拷贝到工作空间,导入maven项目 4.写Controller: HelloController.java 5.启动Spring Boot入口类:DemoApplication 普通maven工程搭建boot应用 1.新建一个普通的maven工程,选择quickstart [注意:Spring boot是web工程,但是我们这里只需要建立quickstar…
前言   互联网行业公司,对于数据库的敏感字段是一定要进行加密的,方案有很多,最直接的比如写个加解密的工具类,然后在每个业务逻辑中手动处理,在稍微有点规模的项目中这种方式显然是不现实的,不仅工作量大而且后期很难维护.   目前mybatis-plus已经提供了非常好的加解密方案,居士也试过效果很好,但很多互联网公司不一定会引入mybatis-plus作为数据层工具,反而就喜欢使用mybatis,甚至有不少使用SpringDataJPA,那么就没有必要为了加解密专门引入mybatis-plus.…
前言 上篇学习了一对一关联查询,这篇我们学习一对多关联查询.一对多关联查询关键点则依然是配置resultMap,在resultMap中配置collection属性,别忽略了ofType属性. 搭建开发环境 创建表author.表blog,构建一对多的查询场景. 创建author.blog model.author类中主要是添加属性List<Blog> blogs属性. public class Author { private int id; private String name; priv…
写在前面的话 在测试搜索时出现的问题,mysql通过中文查询条件搜索不出数据,但是英文和数字可以搜索到记录,中文无返回记录.本文就是写一下发现问题的过程及解决方法.此bug在第一个项目中点这里还存在,修改后的maven项目中点这里此问题已经修复.    问题定位过程   打开项目地址,进入书籍信息管理       初始化的时候,回传的结果是所有数据进行分页后的信息记录,这里可以看到书名为中文的记录,但是通过搜索栏的标题栏进行搜索的时候,问题出现了,如下:       没有返回数据! 一开始我是没…
1. 安装springboot的开发IDE,IntelliJ IDEA 2016.3.1这个工具,在IDE的官网上可以下载最新版本.https://www.jetbrains.com/idea/#chooseYourEdition  注意下载的时候选择企业版. 2. 安装后配置maven 3. 创建第一个Hello Spring Boot 程序. 打开IDEA,然后选择创建一个项目,如图: 后面输入自己的项目名称,后面选择web 项目即可.穿件完了,可以将不用的mvvm 对应的文件删除掉. 现在…
之前写过的很多spring文章,都是基于应用方面的,这次的话,就带大家来一次对spring的源码追踪,看一看spring到底是怎么进行的初始化,如何创建的bean,相信很多刚刚接触spring的朋友,或者没什么时间的朋友都很想知道spring到底是如何工作的. 首先,按照博主一贯的作风,当然是使用最新的spring版本,这次就使用spring4.2.5...其次,也是为了方便,采用spring-boot-1.3.3进行追踪,和spring 4.2.5是相同的. 不用担心框架不同,大家如果是使用的…
最开始接触java的时候,前端页面基本都是用jsp来写,最近公司项目要使用SpringBoot重构,查看SpringBoot文档,发现SpringBoot不建议使用JSP,因为jsp在使用内嵌servlet容器时会有一些限制 虽然以后项目中也会将jsp替换成Template Engines,而且这都是前端的事情,其实与后端并无比较大的联系,但比较好奇Springboot中对jsp的使用,故根据官方文档进行了简单测试验证 如果使用JSP,则需要将项目打包成war包,jar包不支持JSP. 打开JS…
创建一个springBoot工程 然后输入工程名字 然后选择要导入的依赖jar包,这里只勾选了web 然后目录结构 创建一个controller必须在aplication.properties的同级目录下或者子级目录下, package com.example.demo.controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; imp…
MyBatis框架及原理分析 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架,其主要就完成2件事情: 封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转换 MyBatis的主要设计目的就是让我们对执行SQL语句时对输入输出的数据管理更加方便,所以方便地写出SQL和方便地获取SQL的执行结果才是MyBatis的核心竞争力. MyBatis的配置 MyBatis框架和其他绝大部分框架一样,需要一个配置文件,其配置文件大致如下: <?xml version=…
1.首先应该明白,mybatis增删改返回值是int型的影响行数的值 mapper接口 package cn.xm.mapper; import java.util.List; import cn.xm.pojo.Questions; /** * 自定义的批量删除与批量增加试题 * @author liqiang * */ public interface QuestionsCustomMapper { /** * 批量导入试题 * @param list 需要倒入的试题集合 * @return…
1.mongodb在mac上的安装 下载mongodb,https://www.mongodb.org/ 解压缩到一个指定文件夹,如:/Users/enniu1/Desktop/zjg/mongodb-osx-x86_64-3.2.6(这是我的mongodb的版本) 配置PATH 输入命令:"vi ~/.bash_profile" 添加如下两句配置: 1 export MONGO_HOME=/Users/enniu1/Desktop/zjg/mongodb-osx-x86_64-3.2…
1.mongodb在mac上的安装 下载mongodb,https://www.mongodb.org/ 解压缩到一个指定文件夹,如:/Users/enniu1/Desktop/zjg/mongodb-osx-x86_64-3.2.6(这是我的mongodb的版本) 配置PATH 输入命令:"vi ~/.bash_profile" 添加如下两句配置: export MONGO_HOME=/Users/enniu1/Desktop/zjg/mongodb-osx-x86_64-3.2.6…