202108-25 spring data jpa如何只查询实体部分字段 需求现在有一张article表,用来储存文章,对应的实体类如下:packagecom.qianyucc.blog.model;importlombok.*;importjavax.persistence.*;/***@authorlijing*@date2019-08-0514:28*@description文章*/@Data@Entity@Table(name="article")publicclassArticle{@Id//主键自增@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongid;@Column(name="author",unique=false,nu... 继续阅读 >
202108-25 spring data jpa 查询自定义字段,转换为自定义实体方式 目标:查询数据库中的字段,然后转换成JSON格式的数据,返回前台。环境:idea2016.3.4,jdk1.8,mysql5.6,spring-boot1.5.2背景:首先建立entity映射数据库(非专业java不知道这怎么说)@Entity@Table(name="user")publicclassUser{@Id@GeneratedValue(strategy=GenerationType.AUTO)privateLongid;privateStringuserName;//账号privateStringpassword;//密码//get... 继续阅读 >
202108-25 解决spring data jpa 批量保存更新的问题 springdatajpa批量保存更新问题使用jpa批量保存时,看日志发现是一条一条打印的,然后去看了下源码,果然是循环调用的单个保存(巨坑啊)经查询jpa是可以实现批量保存更新的,具体设置如下:spring.jpa.properties.hibernate.jdbc.batch_size=500spring.jpa.properties.hibernate.jdbc.batch_versioned_data=truespring.jpa.properties.hibernate.order_inserts=truespring.jpa.properties.hibernate.order_updates=true其中:... 继续阅读 >
202108-23 基于Spring Boot使用JpaRepository删除数据时的注意事项 问题:在SpringBoot中使用JpaRepository的deleteById(IDid)方法删除数据时,首先要使用existsById(IDid)方法判断数据是否存在。如果存在,再删除。否则,删除一个id不存在的数据会抛出org.springframework.dao.EmptyResultDataAccessException异常:2019-01-0215:57:24.122WARNorg.springframework.boot.autoconfigure.orm.jpa.JpaBaseConfiguration$JpaWebConfiguration$JpaWebMvcConfigurationLine:234-spring.jpa.ope... 继续阅读 >
202108-23 Spring Data JPA 关键字Exists的用法说明 SpringDataJPA关键字Exists查询数据库中的此数据是否已存在:例子:查询sys_user表中的一个user是否存在,类SysUser对应的是数据库中的sys_user表,SysUserId是表sys_user的主键类(ID类)。如果查询一个user,user的accountNo为demo。userID为demo1,表sys_user的主键是accountNo和userID,下面代码中的方法是查询这个user是否存在,如果存在则返回true,不存在则返回false。@RepositorypublicinterfaceSysUserRepositoryex... 继续阅读 >
202108-23 SSM框架整合之Spring+SpringMVC+MyBatis实践步骤 目录1、基本概念1.1、Spring1.2、SpringMVC1.3、MyBatis2、开发环境搭建以及创建MavenWeb项目3、SSM整合3.1、Maven引入需要的JAR包3.2、整合SpringMVC3.3Spring与MyBatis的整合3.4、JUnit测试1、基本概念1.1、SpringSpring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson在其著作ExpertOne-On-OneJ2EEDevelopmentandDesign中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创... 继续阅读 >
202108-22 如何解决Spring in action @valid验证不生效的问题 解决Springinaction@valid验证不生效按照书上的示例代码来实现但是,添加了验证但是没有生效。Spring提供了校验Api是使用但是没有提供实现,所以需要自己导入实现包。所以导入实现包:<dependency><groupId>org.hibernate</groupId><artifactId>hibernate-validator</artifactId><version>5.1.1.Final</version></dependency><!--https://mvnrepository.com/artifact/jav... 继续阅读 >
202108-22 Spring Boot多模块化后,服务间调用的坑及解决 问题背景:product服务作为服务端,提供了一个对外通信Fegin接口ProductClient,放在了com.imooc.product.clientjar包下order服务作为客户端,直接引用上面的jar,使用ProductClient,启动主类后报下图错误:解决办法:多模块化时,应该在order主类上添加下面圈出来的注解,这样启动后就能扫描这个包。Maven多模块项目+SpringBoot,编译失败:程序包xxx不存在项目结构如下:parent(父类工程)||-----common(通用工具... 继续阅读 >
202108-22 spring boot--从controller到DAO操作 springboot--从controller到DAO创建商品数据表,命名为goods用mybatis自动生成相关文件1.建立一下目录2.service中定义方法3.实现类中实现方法4.在GoodsController中5.浏览器打开http://localhost:8080/listGoods?id=11浏览器中显示6.controller中查询结果增删改的操作步骤类似,开发中基本的数据库操作即可完成MVC框架的DAO层,Service层与Controller层MVC框架即模型-视图-控制器(model-View-controller)M即model模... 继续阅读 >
202108-22 Spring cloud 限流的多种方式 目录一、实战基于SpringcloudGateway的限流二、基于阿里开源限流神器:Sentinel在频繁的网络请求时,服务有时候也会受到很大的压力,尤其是那种网络攻击,非法的。这样的情形有时候需要作一些限制。例如:限制对方的请求,这种限制可以有几个依据:请求IP、用户唯一标识、请求的接口地址等等。当前限流的方式也很多:Springcloud中在网关本身自带限流的一些功能,基于redis来做的。同时,阿里也开源了一款:限流神器Senti... 继续阅读 >
202108-12 Spring Cloud Feign原理详解 目录Feign的大体机制@EnableFeignClients和@FeignClient注解registerDefaultConfiguration方法registerFeignClients方法feign客户端的动态代理Feign主要是帮助我们方便进行restapi服务间的调用,其大体实现思路就我们通过标记注解在一个接口类上(注解上将包含要调用的接口信息),之后在调用时根据注解信息组装好请求信息,接下来基于ribbon这些负载均衡器来生成真实的服务地址,最后将请求发送出去;之后将接收到的结果反序列... 继续阅读 >
202108-11 解析Spring Mvc Long类型精度丢失问题 目录背景SpringBootController前端调用方案方案一@JsonSerialize注解方案二全局处理器与swagger集成总结背景在使用SpringBootMvc的项目中,使用Long类型作为id的类型,但是当前端使用Number类型接收Long类型数据时,由于前端精度问题,会导致Long类型数据转换为Number类型时的后两位变为0SpringBootController以下代码提供一个Controller,返回一个Dto,Dto的id是Long类型的,其中id的返回数据是1234567890102349123@Cros... 继续阅读 >
202108-08 Spring aop+反射实现电话号加密 目录加密算法AESMD5HMAC-MD5AOP1.引入依赖2.业主信息类、业主信息服务类3.电话号加密注解,电话号加密切面类4.测试类5.结果和总结加密算法为什么需要加密呢?就好比战争时期特工在进行传输情报的时候,如果将情报明文直接通过某种媒介传输给同盟人员,那么一旦情报被地方截取,就会酿成大祸。如果将明文通过某种加密算法加密成杂乱无章的密文,即使被敌方截获,没有对应的解密算法,也很难识别出其中的明文。安全传输领域,加... 继续阅读 >
202108-08 手把手教你怎么创建spring项目 创建Spring项目通过spring.io生成初始代码,配置如下下载好会得到一个.zip文件,解压导入IDEA就可以开始了,这是基础的项目结构让我们打开src/main/java/geektime/spring/hello/hellospring/HelloSpringApplication.java,修改成如下代码packagegeektime.spring.hello.hellospring;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springfra... 继续阅读 >
202108-08 Spring Boot jar 启动时设置环境参数的操作 SpringBootjar启动时设置环境参数1摘要通常在使用SpringBoot开发项目时需要设置多环境(测试环境与生产环境等),但是项目打包却只能指定一种环境,有没有一种办法,能够只打一个jar包,但是启动的时候指定项目环境?作者经过在网上查阅资料并测试,发现这一功能可以实现,这就大大方便了项目的部署工作(可以实现多环境自动部署)。2核心代码2.1springBoot多环境配置../demo-web/src/main/resources/application.yml##... 继续阅读 >
202108-08 Java 程序员掌握 Spring Boot非常有必要 SpringBoot从天而降SpringBoot是企业级开发的整体整合解决方案,在现在企业项目开发中使用非常普遍,SpringBoot2.0的推出又激起了一阵学习SpringBoot热潮,给企业开发带来了巨大的变革,可以说现在是Java程序员到了必须学习SpringBoot的时候。Spring已经足够好了?Spring框架真的太好了,任何一个java开发用过之后都会像上瘾一样,爱不释手。会在遇到新问题的时候,或者找到某一个方法的时候,都会去看一下spring是不是已... 继续阅读 >