entity

Spring-SpringMVC-Mybatis/ssm/SSM搭建

心不动则不痛 提交于 2020-08-15 11:26:31
准备工作 数据库使用MySql,创建一张测试表: CREATE TABLE `emp` ( `ID` int(4) NOT NULL AUTO_INCREMENT, `NAME` varchar(50) COLLATE utf8_unicode_ci NOT NULL, `AGE` int(11) DEFAULT NULL, `BIRTHDAY` date DEFAULT NULL, PRIMARY KEY (`ID`) ) 引入依赖: <!-- spring事务 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>4.3.5.RELEASE</version> </dependency> <!-- spring jdbc --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>4.3.5.RELEASE</version> </dependency> <!-- mysql数据库连接包--> <dependency> <groupId>mysql</groupId> <artifactId

使用PowerDesigner建模

两盒软妹~` 提交于 2020-08-15 10:49:15
一、概念数据模型概述 数据模型是现实世界中数据特征的抽象。数据模型应该满足三个方面的要求: 1)能够比较真实地模拟现实世界 2)容易为人所理解 3)便于计算机实现 概念数据模型也称信息模型,它以实体-联系(Entity-RelationShip,简称E-R)理论为基础,并对这一理论进行了扩充。它从用户的观点出发对信息进行建模,主要用于数据库的概念级设计。 通常人们先将现实世界抽象为概念世界,然后再将概念世界转为机器世界。换句话说,就是先将现实世界中的客观对象抽象为实体(Entity)和联系(Relationship),它并不依赖于具体的计算机系统或某个DBMS系统,这种模型就是我们所说的CDM;然后再将CDM转换为计算机上某个DBMS所支持的数据模型,这样的模型就是物理数据模型,即PDM。 CDM是一组严格定义的模型元素的集合,这些模型元素精确地描述了系统的 静态特性、动态特性以及完整性约束条件 等,其中包括了 数据结构、数据操作和完整性约束 三部分。 1)数据结构表达为实体和属性; 2)数据操作表达为实体中的记录的插入、删除、修改、查询等操作; 3)完整性约束表达为数据的自身完整性约束(如数据类型、检查、规则等)和数据间的参照完整性约束(如联系、继承联系等); 二、实体、属性及标识符的定义 实体(Entity),也称为实例,对应现实世界中可区别于其他对象的“事件”或“事物”。例如

jpa表映射实体

流过昼夜 提交于 2020-08-15 08:41:51
jpa 定义实体(和数据库表和字段映射) @Entity @Table( name = "nb" ) @DynamicInsert @DynamicUpdate public class Nb { @Id @GeneratedValue( strategy = GenerationType.IDENTITY ) @JoinColumn( name = "NB_ID", unique = true ) private Integer nbId; @Column( name = "IMEL" ) private String imei; @Column( name ="DEVICE_ID" ) private String deviceId; @Column( name ="METER_UID" ) private String meterUid; @Column( name ="CREATE_TIME" ) @Temporal(TemporalType.TIMESTAMP) @JsonSerialize( using = JsonDateTimeSerializer.class ) private Date createTime = new Date(); public NB(){} } 来源: oschina 链接: https://my.oschina.net

基于 abp vNext 和 .NET Core 开发博客项目

﹥>﹥吖頭↗ 提交于 2020-08-15 04:44:38
上一篇文章( https://www.cnblogs.com/meowv/p/12909558.html )完善了项目中的代码,接入了Swagger。本篇主要使用Entity Framework Core完成对数据库的访问,以及使用Code-First的方式进行数据迁移,自动创建表结构。 数据访问 在 .EntityFrameworkCore 项目中添加我们的数据访问上下文对象 MeowvBlogDbContext ,继承自 AbpDbContext<T> 。然后重写 OnModelCreating 方法。 OnModelCreating :定义EF Core 实体映射。先调用 base.OnModelCreating 让 abp 框架为我们实现基础映射,然后调用 builder.Configure() 扩展方法来配置应用程序的实体。当然也可以不用扩展,直接写在里面,这样一大坨显得不好看而已。 在abp框架中,可以使用 [ConnectionStringName] Attribute 为我们的DbContext配置连接字符串名称。先加上,然后再在 appsettings.json 中进行配置,因为之前集成了多个数据库,所以这里我们也配置多个连接字符串,与之对应。 本项目默认采用MySql,你可以选择任意你喜欢的。 //MeowvBlogDbContext.cs using

关于有默认值的字段在用EF做插入操作时的思考

﹥>﹥吖頭↗ 提交于 2020-08-15 04:02:26
今天在用EF做插入操作的时候发现数据库中一个datetime类型的字段(CreateDate)的值居然全部为null。于是赶紧看表结构发现CreateDate字段居然是允许为空的。 虽然为空,但是设置了默认值getdate(),按说不应该为null的。于是开始测试。 字段允许Null值的情况 Users表结构如下: 假如一个字段有了默认值,并且又允许为Null,在做插入操作时会发生什么? 如上图中的表结构,CreateDate是允许为null的,而又有默认值getdate()。这样在用传统SQL语句和EF做插入操作时分别会发生什么呢? 先看传统SQL语句: insert into Users(Username,Password) values('test','123456') 插入结果: 使用SQL完全没有问题。 再看使用EF: Users user = new Users(); user.Username = "test2"; user.Password = "123456"; TestEntities entity = new TestEntities(); entity.Users.Add(user); int result = entity.SaveChanges(); 插入结果: 使用EF插入居然为NULL!!!于是立刻打开SQL Server

SpringBoot中使用缓存cache

冷暖自知 提交于 2020-08-15 03:25:56
1.增加maven支持 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-cache</artifactId> </dependency> 2.入口类中开启缓存功能 @EnableCaching 3.接口中加入缓存注解 @CacheConfig(cacheNames = "role") public interface RoleService { @CacheEvict(key = "#p0", allEntries = true) //清除缓存 public Integer deleteRoleById(String[] ids); @CacheEvict(key = "#p0", allEntries = true)//清除缓存 public Integer updateRoleById(Role role); @Cacheable(key = "#p0") //获取缓存 public Role getRoleById(Integer id); } 4.属性说明 @Cacheable与@Cacheput缓存注解中的属性说明 cacheNames/value:指定缓存组件的名字;将方法的返回结果放在哪个缓存中,是数组的方式,可以指定多个缓存; key

Android 原生 SQLite 数据库的一次封装实践

孤者浪人 提交于 2020-08-15 02:55:47
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/CL4MsQEsrWS8n7lhXCOQ_g 作者:Li Bingyan 本文主要讲述原生SQLite数据库的一次ORM封装实践,给使用原生数据库操作的业务场景(如:本身是一个SDK)带来一些启示和参考意义,以及跟随框架的实现思路对数据库操作、APT、泛型等概念更深一层的理解。 实现思路: 通过动态代理获取请求接口参数进行SQL拼凑,并以接口返回值(泛型)类型的RawType和ActualType来适配调用方式和执行结果,以此将实际SQL操作封装在其内部来简化数据库操作的目的。 一、背景 毫无疑问,关于Android数据库现在已经有很多流行好用的ORM框架了,比如:Room、GreenDao、DBFlow等都提供了简洁、易用的API,尤其是谷歌开源的Room是目前最主流的框架。 既然已经有了这么多数据库框架了,为什么还要动手封装所谓自己的数据库框架呢?对于普通 APP 的开发确实完全不需要,这些框架中总有一款可以完全满足你日常需求;但如果你是一个SDK开发者,而且业务是一个比较依赖数据库操作的场景,如果限制不能依赖第三方SDK(主要考量维护性、问题排查、稳定性、体积大小),那就不得不自己去写原生SQLite操作了,这将是一个既繁琐又容易出错的过程(数据库升级/降级/打开/关闭

php上传文件大小限制配置

孤者浪人 提交于 2020-08-14 14:10:18
php通过页面上传文件报错提示: Nginx返回 413 Request Entity Too Large错误解决方法 在http{} 添加: client_max_body_size 100m; 重启nginx POST Content-Length of 8908752 bytes exceeds the limit of 8388608 bytes in Unknown on line 0 php.ini 配置: post_max_size = 100M upload_max_filesize = 100M 重启php服务 来源: oschina 链接: https://my.oschina.net/u/4300092/blog/4302182

ACL2020奇葩论文标题大赏

狂风中的少年 提交于 2020-08-14 11:39:03
本文首发于微信公众号【夕小瑶的卖萌屋】 文|灵魂写手rumor酱 编|不拖更的 @夕小瑶 又是一年一度的ACL,之前通过 卖萌屋Arxiv服务 已经零零碎碎看了一些,还是准备刷一下论文list,看哪篇能让我的模型效果一飞冲天。 中奖论文List : https:// acl2020.org/program/acc epted 刷呀刷呀,不是 XXBERT: XXX ,就是 A XX-based XX for XX ,果然NLP人的世界还是那么枯燥无味。 突然,一个标题吸引了我: Two Birds, One Stone: A Simple, Unified Model for Text Generation from Structured and Unstructured Data 等等,Two Birds,One stone,这个模型名怎么感觉有些怪怪的,翻译过来是。。。一石二鸟???用美妙的中华语言来形容自己优秀的文本生成模型,这都可以? 还有没有更奇葩的标题呢?想到这里,我滑动屏幕的手指也开心了起来。 一览标题list后,我发现了很有潜力的一种标题格式,就是 抓人疑问句/陈述句/感叹句+正经介绍 ,就像荣誉提名的 Do not stop pre-training ,先要抓住审稿人/读者的点,再抛出简要介绍,深得标题党的精髓。 按照这个Pattern

安全意识十个原则

て烟熏妆下的殇ゞ 提交于 2020-08-14 08:53:40
对于安全我不是专家,但是我发现有这么一个问题,那就是做业务开发的同学往往一点安全意识都没有,如果有的公司没有安全方面的部门或专家的话,那么安全问题真的会很严重,外面 所谓的一些安全公司的外包渗透服务往往是浅层次的机器做一下扫描和渗透,很少在代码和逻 辑层面做深入的分析,安全要做好还是要靠一线程序员和产品经理的点点滴滴的意识。 在这里,我介绍一下我总结出来的偏产品技术(网络层面还有很多工作需要做,这里没有涉 及)方面的安全意识十原则(黑客白帽子肯定会有自己的一些成体系的方法论,我这里更多的 是根据之前踩过的坑自己总结的一些经验): 一、安全问题是木桶效应。 整个系统的安全程度取决于木桶最短的那块板。很多时候我们会召 集安全专家和架构师和主站主流程主域名的系统进行安全分析和渗透测试,而黑客知道这 点也往往喜欢找边缘化的子站点或非核心逻辑进行攻破,这些模块或站点往往是由初级程 序员打造,有的甚至还不是主站统一的技术架构,总体上会防备薄弱。黑客能够攻破任意 站点进去到内网,就有种种可能。针对这点,我们需要做的是对于安全的排查,需要全面 覆盖,除非子站在部署上用户体系上彻底隔离。 二、不要信任客户端的任何东西。 对于 HTTP 协议,不管是头里面的东西(来源、 客户端类型、Cookie)还是正文里面的东西,任何数据都是可以伪造的。我们往往会觉得Get 的东西暴露在浏览器地址上