实体类

java.sql.SQLException: 数字溢出 的解决办法

心已入冬 提交于 2020-04-07 07:46:18
java.sql.SQLException: 数字溢出 的解决办法 今天碰到了 Java .sql.SQLException: 数字溢出.............的错误。 原因可能有以下两种,一:使用的jdbc驱动与 数据库 版本不匹配引起的,把版本改为一致的,测试看看; 二:可能是数据库的某个NUMBER类型的字段超出对应实体类属性的接收范围(如数据库字段是11位的手机号,而对应实体类使用Integer接收Phone这个属性,必然溢出), 解决方法:将实体类该属性的数据类改为Long即可。 来源: https://www.cnblogs.com/HiJacky/p/5902731.html

Java对象实例化报错:java.lang.InstantiationException: com.bjbde.pay.model.BdModel.BdMemberApiConfig

三世轮回 提交于 2020-04-06 06:48:24
现象 开发中使用实体类创建对象时,报错: java.lang.InstantiationException: com.bjbde.pay.model.BdModel.BdMemberApiConfig 实例化对象的代码 public static <T> T map2Bean(Map<String, Object> source, Class<T> instance) { try { T object = instance.newInstance(); Field[] fields = object.getClass().getDeclaredFields(); for (Field field : fields) { field.setAccessible(true); FieldName fieldName = field.getAnnotation(FieldName.class); if (fieldName != null){ field.set(object,source.get(fieldName.value())); }else { field.set(object,source.get(field.getName())); } } return object; } catch (InstantiationException |

MyBatis自学(3):MyBatis逆向工程

和自甴很熟 提交于 2020-04-04 00:55:08
  什么是Mybatis逆向工程?   可以针对单表自动生成MyBatis执行所需要的代码,包括:Mapper.java,Mapper.xml,实体类。    为什么要使用Mybatis逆向工程?   我们之前说过MyBatis是一个"半自动"的ORM框架,SQL语句需要开发者自定义,这样做的好处是代码更加灵活,缺点是如果参与业务的表太多,每张表的业务都需要自定义SQL,创建实体类,DAO接口,难免会很麻烦。所以我们需要使用逆向工程,让MyBatis自动生成表对应的各种资源,大大减少我们的工作量。    Mybatis逆向工程有什么不足?   逆向工程有它自身的局限性,逆向工程方法只能执行一次,如果再次执行就会重复生成对应的DAO接口,实体类等资源。如果需要对表结构进行修改,那么就必须删除已经生成的所有资源,重新生成一次。    如何使用Mybatis逆向工程?   MyBatis Generator,简称MBG:是一个专门为MyBatis框架开发者定制的代码生成器,可以根据表结构快速生成对应的Mapper.xml,Mapper接口以及实体类。支持基本的CRUD(Create,Read,Update,Delete),但是复杂的SQL语句需要开发者手动编写。   1. 添加依赖jar包到pom.xml文件。 1 <dependency> 2 <groupId>org.mybatis

Hibernate之jpa实体映射的三种继承关系

…衆ロ難τιáo~ 提交于 2020-04-03 04:26:08
转载自:http://blog.sina.com.cn/s/blog_7085382f0100uk4p.html 基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1. @MappedSuperclass注解只能标准在类上:@Target({java.lang.annotation.ElementType.TYPE}) 2. 标注为@MappedSuperclass的类将不是一个完整的实体类,他将不会映射到数据库表,但是他的属性都将映射到其子类的数据库字段中。 3. 标注为@MappedSuperclass的类不能再标注@Entity或@Table注解,也无需实现序列化接口。 但是如果一个标注为@MappedSuperclass的类继承了另外一个实体类或者另外一个同样标注了@MappedSuperclass的类的话,他将可以使用@AttributeOverride或@AttributeOverrides注解重定义其父类(无论是否是实体类)的属性映射到数据库表中的字段。 比如可以重定义字段名或长度等属性,使用@AttributeOverride中的子属性@Column进行具体的定义。 注意:对于其父类中标注@Lob注解的属性将不能重载, 并且@AttributeOverride里的

Struts2_day02

微笑、不失礼 提交于 2020-04-03 01:58:30
一、内容大纲 1 结果页面配置 (1)全局结果页面 (2)局部结果页面 - 配置全局也配置局部,最终局部为准 (3)result标签type属性 - 默认值 dispatcher做转发 - redirect做重定向 - chain:转发到action - redirectAction:重定向到action 2在action获取表单提交数据 (1)使用ActionContext类获取 (2)使用ServletActionContext类获取 (3)使用接口注入方式获取 - 使用ServletActionContext类操作域对象 3 struts2提供获取表单数据方式 (1)属性封装 - 定义变量,变量和表单输入项name属性值一样,生成get和set方法 (2)模型驱动封装(重点) - 实现接口,实现接口里面的方法,表单输入项name属性值和实体类属性名称一样 (3)表达式封装 (4)表达式封装和模型驱动封装比较 - 相同点:可以把数据封装到实体类对象里面 - 不同点:表达式封装可以封装到不同的实体类里面 4 struts2获取数据封装到集合中(会用) (1)封装到list集合 (2)封装到map集合 5 案例-添加客户功能 二、结果页面配置 全局结果页面 1 result标签配置action方法的返回值到不同的路径里面 2 创建两个action,执行默认的方法execute方法

Entity Framework Fluent API

℡╲_俬逩灬. 提交于 2020-04-01 17:04:45
前言 使用DataAnnotation非常简单,但对于EntityFramework中的特性,就要在实体类中引入EntityFramework程序集,但实体类最好能是保持与架构无关性的POCO类,才能更具通用性。所以,最好是在数据层中使用FluentAPI在数据层中进行实体类与数据库之间的映射工作。从功能上而言Data Annotations是Fluent API的一个子集, Data Annotations可以实现的功能Fluent API都能实现。 Fluent API特性列举 当然,System.ComponentModel.DataAnnotations命名空间的DataAnnotation在EntityFramework程序集中也有相应的API: 设置属性需要在数据库操作上下文的 protected override void OnModelCreating(DbModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); } 1.HasKey - KeyAttribute:配置此实体类型的主键属性 modelBuilder.Entity<Order>().HasKey(order => order.OrderID); 2.IsRequired - RequiredAttribute

实体类赋值给控件,控件赋值给实体类

我是研究僧i 提交于 2020-04-01 05:52:07
/// <summary> /// 绑定实体,把控件装在Panel里 /// </summary> /// <param name="spanel"></param> /// <param name="entity"></param> public void BinToEntity(Panel spanel, object entity) { ArrayList al = new ArrayList(); List<PropertyInfo> PI2list = entity.GetType().GetProperties().ToList(); foreach (Control cl in spanel.Controls) { if (cl is TextBox) { TextBox tb = (TextBox)cl; string tbName = tb.ID.Replace("txt", ""); PropertyInfo tmpPropQuery = PI2list.Find(p => p.Name == tbName); if (tmpPropQuery != null) { object dd = tb.Text.Trim(); if (!string.IsNullOrEmpty(tb.Text.Trim()) || tmpPropQuery.PropertyType

二十、springboot之jpa开发@MappedSuperclass 注解说明

三世轮回 提交于 2020-03-29 00:57:29
@MappedSuperclass使用条件:   当我们进行开发项目时,我们经常会用到实体映射到数据库表的操作,此时我们经常会发现在我们需要映射的几个实体类中,有几个 共同的属性 ,例如编号ID,创建者,创建时间,修改者,修改时间,备注等。遇到这种情况,我们可能会想到把这些属性 抽象出来当成一个父类,然后再以不同的实体类来继承这个父类 。   那么,我们便可以使用 @MappedSuperclass注解 ,通过这个注解,我们可以将该实体类当成基类实体,它 不会映射到数据库表 ,但继承它的子类实体在映射时会自动扫描该基类实体的映射属性,添加到子类实体的对应数据库表中。 @MappedSuperclass使用场景深入了解 基于代码复用和模型分离的思想,在项目开发中使用JPA的 @MappedSuperclass 注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解只能标准在类上,用来标识父类的: @Target({java.lang.annotation.ElementType.TYPE}) 2.标注为@MappedSuperclass的 类将不是一个完整的实体类 ,他将不会映射到数据库表,但是他的属性都将映射到其子类的数据库字段中。 3.标注为@MappedSuperclass的 类不能再标注@Entity或@Table注解

struts结果页面配置及对表单操作

你。 提交于 2020-03-28 20:20:28
结果页面配置   全局结果页面     1 result标签配置action方法的返回值到不同的路径里面     2 创建两个action,执行默认的方法execute方法,让两个action的方法都返回success,返回success之后,配置到同一个页面里面     (1)如果多个action,方法里面返回值相同的,到页面也是相同的,这个时候可以使用全局结果页面配置 <package name="demo2" extends="struts-default" namespace="/"> <action name="book" class="com.wm.action.BookAction"> <result name="success">/hello.jsp</result> </action> <action name="orders" class="com.wm.action.OrdersAction"> <result name="success">/hello.jsp</result> </action> </package>     (2)在package标签里面配置 <package name="demo2" extends="struts-default" namespace="/"> <global-results> <result name=

hibernate 实体类可以被定义为 final 吗?(未完成)

冷暖自知 提交于 2020-03-27 11:59:47
是的,你可以将Hibernate的实体类定义为final类,但这种做法并不好。因为Hibernate会使用代理模式在延迟关联的情况下提高性能,如果你把实体类定义成final类之后,因为Java不允许对final类进行扩展,所以Hibernate就无法再使用代理了,如此一来就限制了使用可以提升性能的手段。 不过,如果你的持久化类实现了一个接口而且在该接口中声明了所有定义于实体类中的所有public的方法的话,你就能够避免出现前面所说的不利后果。 来源: https://www.cnblogs.com/mjtabu/p/12580281.html