实体类

错误信息:Could not write JSON: (was java.lang.NullPointerException); nested exception is com.faster

浪子不回头ぞ 提交于 2020-02-10 21:24:46
本来可以完整运行的模块突然不能使用了,然后就找前端要来接口连接进行测试,结果发现,本地程序可以完整的运行下来,但是返回 JSON 数据时却报错 500 ,下方是错误信息: { “timestamp”: “2019-03-05T06:03:30.296+0000”, “status”: 500, “error”: “Internal Server Error”, “message”: “Internal Server Error”, “path”: “/app/wallet/selectPersonal1” } 错误类型:实体类数据类型与封装值不匹配!! Could not write JSON: (was java.lang.NullPointerException);nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain) 一脸懵逼的去检查了一遍程序,然后发现,并没有什么问题 !!结果不死心的又去检查 Service 和 接口 ,发现还是没有任何问题,后来问过同事才知道是由人加了“字段”。。。被坑惨了!!,下方是 bean ( 仔细看一下有没有啥不对!! ): /

java 三大框架——Hibernate

本小妞迷上赌 提交于 2020-02-09 14:37:11
Hibernate框架简介 Hibernate框架是一款数据持久型的框架也是一款ORM框架 数据持久型:是将数据存入数据库或将数据库里的数据读入程序中 ORM:我们说JAVA中是面向对象的思想 而现在市场中大部分使用的数据库都是关系型数据库,如果利用面向对象语言来操作关系型数据库的话,其中会出现一些很麻烦的代码,会阻碍我们进行开发造成了没必要的麻烦,所以ORM提供了一种能使用对象来调用数据库里的每一条数据,具体是以类来对应数据库中的表,以对象来对应表中的字段,以对象来对应表中的每一条数据。 在了解Hibernate之前 首先回顾一下JDBC是如何操作数据库的 1,加载mysql驱动 2,获取连接 3,获取数据的操作对象 4,进行数据库的操作 5,关闭资源 在Hibernate结构目录中分别有以下几个结构 documentation(文档) lib(jar包) project(源代码) 对于初学这款框架的程序员来说 先进入lib包下进行导包 hibernate框架的jar包就分的很详细 lib中会发现有这几种envers jpa optional osgi required 一般情况下只导入required下的jar包即可 这些jar都是必须存在的 optional中的jar包主要是用于优化hibernate的性能 包括数据连接池和缓存两部分 接下来了解下Hibernate的相关配置

记录—JPA生成数据库表

依然范特西╮ 提交于 2020-02-09 10:20:59
环境   springBoot+JPA+MySQL application-dev.yml 注意:配置中的blog数据库需要先创建,否则启动springBoot会报错 1 spring: 2 #数据库连接配置 3 datasource: 4 driver-class-name: com.mysql.jdbc.Driver 5 url: jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8 6 username: root 7 password: 123 8 jpa: 9 hibernate: 10 ddl-auto: update 11 show-sql: true pojo(实体类)、数据库关系结构 多对一、一对多:多的一方作为关系维护方,少的作为关系被维护方 1.Blog @Entity //标记类为数据库实体类 @Table(name = "front_blog") //指定与数据库哪个表对应 public class Blog { /* @Id:指定主键 @GeneratedValue: 指定主键生成策略 不设置参数则按照默认的策略-AUTO,那么在数据库中会多生成一张表用于记录各个表的主键 */ @Id @GeneratedValue private Long id;

java基础复习-自定义注解4(结合JDBC技术,打造类表映射微框架)

独自空忆成欢 提交于 2020-02-08 13:07:09
写在前面: 1、该框架为自己所写的第一个框架类产品,可能有着许多不足的地方,读者可以到评论区指出。同时,该微框架的源码也会开源至博客中,够后来的学习者借鉴。由于该框架逻辑结构稍些复杂,不可能花大量篇幅去逐一行代码的讲解,本文后半部分会贴出框架源代码,源代码中有着大量的注释,学习者若有看不懂的地方可以在博客后面留言。 2、该框架称之为微框架,在于其实现的功能简单,帮助开发者自动的建库建表,拜托对数据库操作的烦恼。众所周知,在javaee流行框架中mybatis的逆向工程生成的通用Mapper可以让开发者拜托对数据库增删改查语句的编写,but,开发者还需要自己对数据库进行建库建表,因此,也要求开发者掌握相应的数据库知识。使用本框架,框架将自动的为开发者建库建表,配合mybatis框架的通用mapper将实现开发者全程无需自己对数据库直接操作的开发体验。 3、开源地址 https://gitee.com/xue-guo-peng/MyOrm 1、框架的使用 1.1、导入框架jar包,并导入jdbc驱动,添加为项目库。 框架jar包下载地址: https://gitee.com/xue-guo-peng/MyOrm/releases 1.2、导入后的框架目录结构为: 1.3、将数据源的连接信息放到写到一个database.properties文件中,并放在src目录下: 其中的数据库的名字

@MappedSuperclass的用法

蓝咒 提交于 2020-02-08 01:24:23
大概从名字能看出来,直译就是映射父类,就是用来标识父类实体类 基于代码的可复用性,抽象化思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中 例如,数据库表中都需要id来表示主键,创建时间,创建者,等等这些映射实体类的通用的属性,交给jpa统一生成主键id编号,那么使用一个父类来封装这些通用属性,并用@MappedSuperclas标识 如下例子 import lombok . Data ; import javax . persistence . * ; @Data @MappedSuperclass public abstract class BaseEntity { /** * 实体的id * 自增ID * @return */ @Id @GeneratedValue ( strategy = GenerationType . IDENTITY ) @Column ( name = "id" , unique = true , nullable = false ) protected Long id ; /** * 创建者 */ @CreatedBy @Column ( name = "create_by" ) protected Long createBy ; /** * 创建时间 */ @Column (

UML规则笔记

旧街凉风 提交于 2020-02-07 08:20:41
一、类   类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相同属性、操作、关系的对象集合的总称。   在系统中,每个类都具有一定的职责,职责指的是类要完成什么样的功能,要承担什么样的义务。一个类可以有多种职责,设计得好的类一般只有一种职责。在定义类的时候,将类的职责分解成为类的属性和操作(即方法)。类的属性即类的数据职责,类的操作即类的行为职责。设计类是面向对象设计中最重要的组成部分,也是最复杂和最耗时的部分。   在软件系统运行时,类将被实例化成对象(Object),对象对应于某个具体的事物,是类的实例(Instance)。   类图(Class Diagram)使用出现在系统中的不同类来描述系统的静态结构,它用来描述不同的类以及它们之间的关系。 在系统分析与设计阶段,类通常可以分为三种,分别是实体类(Entity Class)、控制类(Control Class)和边界类(Boundary Class),下面对这三种类加以简要说明:   (1) 实体类:实体类对应系统需求中的每个实体,它们通常需要保存在永久存储体中,一般使用数据库表或文件来记录,实体类既包括存储和传递数据的类,还包括操作数据的类。实体类来源于需求说明中的名词,如学生、商品等。   (2) 控制类:控制类用于体现应用程序的执行逻辑,提供相应的业务操作

Mybatis的参数

妖精的绣舞 提交于 2020-02-05 04:52:24
parameterType配置参数 此参数主要用于SQL语句传参,该属性的值可以是基本类型、引用类型、还可以是实体类类型。本节主要说明实体类的包装类作为此属性的值,进行参数传递,这种方式主要应用于多表联合查询,这时候可以使用包装对象传递参数来作为查询条件。 在不修改 user 表的前提下,增加了其他表,SQL语句如下: -- role表 DROP TABLE IF EXISTS ` role ` ; CREATE TABLE ` role ` ( ` ID ` int ( 11 ) NOT NULL COMMENT '编号' , ` ROLE_NAME ` varchar ( 30 ) default NULL COMMENT '角色名称' , ` ROLE_DESC ` varchar ( 60 ) default NULL COMMENT '角色描述' , PRIMARY KEY ( ` ID ` ) ) ENGINE = InnoDB DEFAULT CHARSET = utf8 ; insert into ` role ` ( ` ID ` , ` ROLE_NAME ` , ` ROLE_DESC ` ) values ( 1 , '院长' , '管理整个学院' ) , ( 2 , '总裁' , '管理整个公司' ) , ( 3 , '校长' , '管理整个学校' ) ;

记录一下restTemplate返回空对象

感情迁移 提交于 2020-02-02 09:41:07
初学SpringCloud,使用restTemplate进行远程调用,但是发现调用的返回对象一直为null,因为从网上找了份项目源码,自己也想动手敲一敲,但是部分配置,和简单的都直接复制粘贴,我的提供者和消费者都继承一个api父类,其中提供者的pom.xml中引的是源码当中父类的实体类,消费者pom.xml引的是我自己写的父类实体类。。。。。 大意了,害我浪费了一个上午。 来源: CSDN 作者: mvp is me 链接: https://blog.csdn.net/weixin_43410352/article/details/104133709

Spring在Action中不用注入实体类

℡╲_俬逩灬. 提交于 2020-02-01 16:02:36
在Action类中用到了各种Service提供的服务则需要在spring的配置文件中注入Service的bean,如果使用Setter方法注入需要在Action中添加Service的Setter方法,但是用到的实体类是不需要注入的,所以一定注意不要添加实体类的Setter方法,否则会在访问Action类的时候报错。 来源: https://www.cnblogs.com/superyucong/p/12248599.html