entity

求求你们了,别再写满屏的 try catch 了!!

人盡茶涼 提交于 2020-11-26 09:35:50
作者:巨人大哥 cnblogs.com/jurendage/p/11255197.html 背景 软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的 try {...} catch {...} finally {...} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。 比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢? 丑陋的 try catch 代码块 优雅的Controller 上面的示例,还只是在 Controller 层,如果是在 Service 层,可能会有更多的 try catch 代码块。这将会严重影响代码的可读性、“美观性”。 所以如果是我的话,我肯定偏向于第二种,我可以把更多的精力放在业务代码的开发,同时代码也会变得更加简洁。 既然业务代码不显式地对异常进行捕获、处理,而异常肯定还是处理的,不然系统岂不是动不动就崩溃了,所以必须得有其他地方捕获并处理这些异常。 那么问题来了,如何优雅的处理各种异常? 什么是统一异常处理 Spring 在3.2版本增加了一个注解 @ControllerAdvice ,可以与 @ExceptionHandler 、 @InitBinder 、 @ModelAttribute 等注解注解配套使用。 对于这几个注解的作用

mybatis中传入String类型参数的问题

99封情书 提交于 2020-11-26 01:43:14
1. 出现的问题 需求是想写一个按公司名字查询公司列表的功能,最开始的代码如下 Dao层接口如下 @MyBatisDao public interface OfficeDao extends TreeDao<Office> { List <Office> findCompanyNameList(String name); } mybatis的xml代码: <select id="findCompanyNameList" parameterType="java.lang.String" resultType="com.pds.modules.sys.entity.Office"> SELECT id,name FROM sys_office where o.del_flag = '1' < if test="name!= null and name!= ''"> AND name LIKE concat( '%',#{name},'%' ) </ if > </select> 这样写会报错,大体意思是name没有Getter方法。 2. 解决办法 2.1 解决办法1 在接口参数里加上mybatis中的@param注解 @MyBatisDao public interface OfficeDao extends TreeDao<Office> { List <Office>

VHDL 2019: Interfaces

泄露秘密 提交于 2020-11-25 15:34:11
This is the second article in our series about VHDL 2019. In this article we look at the new ability to cleanly express interfaces. You can read the first part here. VHDL Interfaces Interfaces are a central element in hardware design. There are many standardized interfaces like I²C, AXI or VGA and every design also has internally designed interfaces to connect various parts of a system. Unfortunately, these interfaces are cumbersome to model using VHDL. Typically, they are not explicitly defined. Instead their description is repeated on every entity. The only way to identify them is through

vhdl when else

这一生的挚爱 提交于 2020-11-25 15:33:46
在VHDL中,IF...THEN...ELSE是顺序语句,只能出现在行为描述中(进程体或者子程序中);而WHEN...ELSE是并行语句,可以直接出现在结构体中,但却不能出现在行为描述中。 WHEN...ELSE等效于一个进程体为IF...THEN...ELSE语句的进程。 四选一 library IEEE; use IEEE.STD_LOGIC_1164.ALL; entity mm is PORT(A,B,C,D: IN STD_LOGIC; S0, S1 :IN STD_LOGIC; Z: OUT STD_LOGIC); end ENTITY mm; architecture bhv of mm is BEGIN Z<=A WHEN S0='0' AND S1 ='0' ELSE B WHEN S0='0' AND S1 ='1' ELSE C WHEN S0='1' AND S1='0' ELSE D WHEN S0='1' AND S1='1' ELSE 'Z'; END bhv; 来源: oschina 链接: https://my.oschina.net/u/4382392/blog/3920630

VHDL编写3-8译码器

半世苍凉 提交于 2020-11-25 14:39:11
VHDL编写3-8译码器 3-8译码器是由3个输入端和8个输出端组成的译码器,实现3位二进制数转换成10进制的输出(用高低电平来表示输入输出)真值表如下: 本文用两种方法来实现译码器(case和with-select) 因此在设计时,定义3个输入端和两个8个输出端的实体(分别时case语言和with-select语言),分别设计两个结构体HA和HB,在结构体中分别实现case语言和选择信号赋值语句,最后由配置语句选择执行with-select语句。(具体代码如下) LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY homework1 IS PORT(A:IN STD_LOGIC_VECTOR(2 DOWNTO 0); --输入端 LED8S1,LED8S2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); --输出端(LED8S1是HA的输出,LED8S2是HB的输出) END homework1; ARCHITECTURE HA OF homework1 IS --HA实现CASE语句 BEGIN PROCESS(A) --顺序执行 BEGIN CASE A IS WHEN "000" =>LED8S1<="11111110"; WHEN "001" =>LED8S1<="11111101"; WHEN

springboot(11)使用SpringBoot validator进行数据验证

时光怂恿深爱的人放手 提交于 2020-11-24 19:25:40
简介:   数据验证是作为一个企业级项目架构上设计的最基础的模块,前辈们曾说过:界面上传递到后台的数据没有百分之百值得相信的!为什么这么说呢?往往我们在编写程序的时候都会感觉后台的验证无关紧要,这样就会给别人空子钻。我可以模拟前台发送的请求到后台地址,那么我如果发送一些涉及系统安全的代码到后台,后果一发不可收拾。接下来我们就来讲解下SpringBoot项目内如何对参数进行校验! 本章目标 在SpringBoot项目内完成参数后台数据校验。 SpringBoot的Web组件内部集成了hibernate-validator,所以我们这里并不需要额外的为验证再导入其他的包,接下来我们先来看看SpringBoot为我们提供了哪些验证。 一、项目构建   使用IntelliJ IDEA工具来构建一个SpringBoot项目,预先导入Web依赖 二、使用验证,书写实体类   我们接下来创建一个实体叫做DemoEntity,实体内添加几个测试字段并对每个字段都做出验证处理 public class DemoEntity implements Serializable { @NotBlank @Length(min = 2,max = 10) private String name; @Min(value = 1) private int age; @NotBlank @Email private

Springboot整合mybatis进行增删改查

爷,独闯天下 提交于 2020-11-24 02:38:09
本篇主要是讲解如何使用Springboot+mybatis对mysql数据库进行增删改查操作,下图为本次项目的目录结构: 一、首先,创建maven项目,并添加依赖。下方为pom.xml文件内容。 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.course.code</groupId> <artifactId>Test190313</artifactId> <version>1.0-SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0

spring+springmvc+hibernate整合实例

ε祈祈猫儿з 提交于 2020-11-21 06:01:26
最近要弄一个自动化生成表及其实体对应的增删改查的框架,于是我想到了hibernate,hibernate就有根据实体自动建表,而且增删改查,都不需要想mybatis那样在xml文件中配置。 不过怎样让该框架通过前端一个表单页面配置,从而让后台对应的生成,这个我还没想明白,不过说到这,不得不提传统的ssh框架,传统的ssh框架,通常是指spring+struts2+hibernate或spring+struts+hibernate 不过想到struts2就有恐惧感,太多的action和xml配置,比较繁琐,不如springmvc来的痛快。所以我想这也许是struts2现在用的人数不如springmvc多的原因之一。当然,也不能说struts2就不好了,据说struts2(struts)+spring+hibernate称之为最经典的mvc框架。 说到MVC,M指的是模型,V指的是视图,C值的控制器,通俗的理解,可以这么说,视图通过控制器的到模型(数据),这让我想到了JSP+Servlet+JDBC。jsp负责展示数据,servet处理前端请求,与jdbc交互,将数据返回给jsp。 目前MVC在互联网用的比较广。 不多说了,来一波整合吧。好久没整这个都忘记了,写一个作纪念,同时万一以后业务需要,省的去找,同时也给大家学习借鉴使用 一、准备环境 JDK8 Maven tomcat7

WPF入门教程系列一——基础

自作多情 提交于 2020-11-21 05:51:39
WPF入门教程系列目录 WPF入门教程系列二——Application介绍 WPF入门教程系列三——Application介绍(续) WPF入门教程系列四——Dispatcher介绍 WPF入门教程系列五——Window 介绍 WPF入门教程系列六——布局介绍与Canvas(一) WPF入门教程系列七——布局之WrapPanel与StackPanel(二) WPF入门教程系列八——布局之Grid与UniformGrid(三) WPF入门教程系列九——布局之DockPanel与ViewBox(四) WPF入门教程系列十——布局之Border与ViewBox(五) WPF入门教程系列十一——依赖属性(一) WPF入门教程系列十二——依赖属性(二) WPF入门教程系列十三——依赖属性(三) WPF入门教程系列十四——依赖属性(四) WPF入门教程系列十五——WPF中的数据绑定(一) WPF入门教程系列十六——WPF中的数据绑定(二) WPF入门教程系列十七——WPF中的数据绑定(三) WPF入门教程系列十八——WPF中的数据绑定(四) WPF入门教程系列十九——ListView示例(一) WPF入门教程系列二十——ListView示例(二) WPF入门教程系列二十一——DataGrid示例(一) WPF入门教程系列二十二——DataGrid示例(二) WPF入门教程系列二十三—

搜索引擎 solr(7.4版本)的使用

我们两清 提交于 2020-11-21 04:33:13
一、下载、安装: 1. 下载地址: https://lucene.apache.org/solr/ 到官网点击Download下载 2. 下载后解压,如下图 二、运行 (单机) 1. 运行win命令窗口(cmd) 2. 在solr的bin目录下执行启动命令 solr start,solr应用服务器默认端口为8983,如果想指定端口号启动可以加参数–p例 如:solr start –p 8888 启动成功 在浏览器输入 http://localhost:8983/solr 打开,如下图: 2. solr常用命令: solr start –p 端口号 单机版启动solr服务 solr restart –p 端口号 重启solr服务 (注意:使用重启命令必须带有端口号) solr stop –p 端口号关闭solr服务 solr create –c name 创建一个core实例(core概念后面介绍) 3. 注意点: 在启动的时候如果打印java异常堆栈log4j2.xml 文件名、目录名或卷标语法不正确,原因: log4j的bug, solr.cmd 批处理没弄好。如下图 这个错不影响使用,可以忽略。也可以将 solr-7.4.0/bin/solr.cmd文件里面的所有file: 改成file:/// 就行了 三、创建一个core实例 1. core简介