实体类

使用Hibernate验证用户信息

故事扮演 提交于 2019-12-24 05:32:16
1.有时候,在controller层,接收的前端传来的实体类参数,需要进行属性验证时,有时,属性过多,会显得代码很繁琐,所以就是用 @Valid,会使代码简洁不少 1.首先 不需要在 pom 中 添加 新的依赖 2.在实体类中添加注解:(只需要在实体类的属性上添加) 3. 只需要在 对应的实体类上添加 @Valid 注解,且 添加 BindingResult result(里面含有 报错信息) 4. 这是 处理报错信息的函数(放在controller【不推荐】或者impl层都可以) public Map<String, String> getErrors(BindingResult result) { Map<String, String> map = new HashMap<>(); List<FieldError> errorList = result.getFieldErrors(); for (FieldError error : errorList) { // 发生验证错误所对应的某一个属性 String errorField = error.getField(); // 验证错误的信息 String errorMsg = error.getDefaultMessage(); map.put(errorField, errorMsg); } return map; } 5

报错:ssm中实体类不能发现异常(有关别名异常)

我与影子孤独终老i 提交于 2019-12-24 00:16:19
Caused by: java.lang.ClassNotFoundException: Cannot find class: User 问题:在mybatis中起别名问题,找不到! 解决: 方法一:把user换成实体类路径即可 < select id = "findById" parameterType = "int" resultType = "com.qhua.domain.User" > select * from teacher where t_id = # { uid } < / select > 方法二:在mybatis.xml中配置别名,有一下两种办法 1 < ! -- 为实体类com . qhua . domain . User配置一个别名User -- > < typeAliases > < typeAlias type = "com.qhua.domain.User" alias = "User" / > < / typeAliases > 2 < ! -- 为com . qhua . domain包下的所有实体类配置别名, MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名 , 比如com . qhua . domain . User这个实体类的别名就会被设置成User -- > < typeAliases > < package name

webservlet思考笔记

こ雲淡風輕ζ 提交于 2019-12-22 01:36:33
webservlet : 客户端(浏览器)-----发送--》请求(请求行,消息头,消息正文)服务器解析-----发送---》回应(状态行,响应头,响应正文)---》浏览器 客户端的网页地址请求资源发送给服务器-------------》服务器解析通过dom4j解析conf/web.xml配置文件使得服务端也支持了所有类型,来解析网页中的各种资源(图片,样式,脚本)--------发送----》客户端() pom.xml是用来加载导jar包 页面展示 (客户端) 《---------------------》 业务逻辑(服务器)(业务逻辑处理类servlet) 《 ------------------ 》 数据存储(数据库) http协议 属于无状态协议(一次请求对应一次响应,响应完之后就断开连接) 连接和连接之间没有关系 页面请求servlet地址,tomcat截取通过xml文件实现跳转对应servlet反馈数据到 分为controller包---》存放Servlet,dao包---》存放dao.java文件实现对数据库的增删改查,entity包----》实体类,用于存放定义数据表中对应字段,并且构造方法和setter和getter方法,还有tostring方法,utils包-----------》实现配置文件,创建连接池,读取文件jdbc, 增

转:EF调用存储过程、函数

ε祈祈猫儿з 提交于 2019-12-22 00:58:15
public int AddVote( int titleId, int blockId, int typeId) { List<SqlParameter> paramArray = new List<SqlParameter>(); paramArray.Add( new SqlParameter( "@titleId", titleId)); paramArray.Add( new SqlParameter( "@blockId", blockId)); paramArray.Add( new SqlParameter( "@typeId", typeId)); SqlParameter param = new SqlParameter( "@num", SqlDbType.Int); param.Direction = ParameterDirection.Output; paramArray.Add(param); using (RPDBContext db = new RPDBContext()) { try { db.Database.ExecuteSqlCommand( "EXEC [AddVote] @blockId,@titleId,@typeId,@num out", paramArray.ToArray()); } catch (Exception ex) {

如何区分resultMap,resultType和paramType?有何区别?

半世苍凉 提交于 2019-12-21 02:59:42
在spring+springMVC+mybatis架构的项目中,经常需要再mybatis的xml配置文件中书写各种增删改查的sql语句, 今天就让我们来探讨一下mybatis中的resultMap,resultType和paramType到底有什么区别把! 1.resultMap   适用于多表联结查询后返回的结果,需要在mapper.xml中的<resultMap>标签添加<association>或者<collection>标签来添加pojo字段,resultMap中填写对象的实体类名称 2.resultType   适用于单表查询后返回的结果,resultType中填写对象的实体类名称 3.paramType   这里填写的是传入的参数类型,根据sql语句的传参类型来确定,如果传入的参数不止一个,就需要填写对象的实体类名称 4.另外:   collection和 association的用法    association (一对一,多对一) 比如: 多个订单对应 一个用户 ,或者一个人对应 一个身份证号 ,都可以用到<association>标签      collection(一对多,多对多) 比如: 一个用户对应 多个订单 ,一个老师对应 多个学生 来源: https://www.cnblogs.com/liuje/p/11805940.html

Spring Data JPA的Repository

情到浓时终转凉″ 提交于 2019-12-21 00:25:30
本文摘译自 官方文档第四章《JPA Repositories》 。版本:2.0.3.RELEASE 基本配置 这里是Spring Data JPA的注解风格的配置类示例。(为便于描述,后文直接称Spring Data JPA为框架)。 @Configuration @EnableJpaRepositories @EnableTransactionManagement class ApplicationConfig { @Bean public DataSource dataSource() { EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder(); return builder.setType(EmbeddedDatabaseType.HSQL).build(); } @Bean public LocalContainerEntityManagerFactoryBean entityManagerFactory() { HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); vendorAdapter.setGenerateDdl(true);

c# IDataReader转实体类(泛型)

蹲街弑〆低调 提交于 2019-12-20 18:29:47
namespace Comm { public static class DataConvert { /// <summary> /// 把DataRow对象转成实体类。 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dr"></param> /// <returns></returns> static public T ToEntity<T>(DataRow dr) where T : new() { if (dr == null) return default(T); //T t = Activator.CreateInstance<T>(); T t = new T(); PropertyInfo[] propertys = t.GetType().GetProperties(); DataColumnCollection Columns = dr.Table.Columns; foreach (PropertyInfo property in propertys) { if (!property.CanWrite) continue; string columnName = property.Name; if (Columns.Contains(columnName)) {

@Temporal

佐手、 提交于 2019-12-18 14:58:18
因为数据库中有个 Date类型的数据,在从数据库中 获取数据【就是getXxx方法,当然,自动装配的时候可以直接写在字段上,但也只是针对getXxx方法,不会自动赋值】 的时候可以利用这个 @Temporal的注解进行自动格式化。 @Temporal 注解的取值只有三种,如下图: 如果某个实体类的字段包含 Date类型,那么数据库中应该存储的是 “yyyy-MM-dd hh:MM:ss”的形式,针对这种形式的存储,@Temporal 有三种注解值对应。 第一种:@ Temporal ( TemporalType.DATE ) ——》实体类会封装成日期“yyyy-MM-dd”的 Date类型。 第二种:@ Temporal ( TemporalType.TIME ) ——》实体类会封装成时间“hh-MM-ss”的 Date类型。 第三种:@ Temporal ( TemporalType.TIMESTAMP ) ——》实体类会封装成完整的时间“yyyy-MM-dd hh : MM : ss”的 Date类型。 两种注解: 写在字段上: @Temporal ( TemporalType . TIMESTAMP ) private Date birthday ; 写在 getXxx方法上: @Temporal ( TemporalType . DATE ) @Column ( name

Brat文本注释工具的使用文档

女生的网名这么多〃 提交于 2019-12-17 04:06:50
1 Brat Document 目录 Brat.........................................................................................................................................1 Brat 标注配置 ..........................................................................................................................1 Brat 用户配置 ...........................................................................................................................2 添加用户 / 标注人员 ............................................................................................................2 可视化配置 .........................................

反射——CRUD小工具

浪子不回头ぞ 提交于 2019-12-16 10:45:02
反射——CRUD小工具 用反射封装了一个用于增删改查的工具类。现在市面上已经有很多成熟的持久层框架,所以这里只是为了熟悉反射机制,且了解一点市面上持久层框架最基础的原理。写的这个工具类有一些限制,比如实体类必须与表名一致,主键名字必须是id,实体类名字与数据库表名必须一致(如UserEntity – userEntity),实体类所有的字段和表的字段需要一致,究其原因是因为没有自己的专门用于关系映射的配置文件或者注解,想要解决关系映射也简单,将映射关系写进一个配置文件或者自己做注解开发做映射。 1、工具类 package com . xsl . util ; import java . lang . reflect . Constructor ; import java . lang . reflect . Field ; import java . sql . * ; import java . util . ArrayList ; import java . util . List ; /** * 一个Crud的小工具类,可以单表增删改查任何实体类 * 前提:表名与类名一致,表名开头小写,类名开头大写,类字段与表字段一致,表字段没有多余的无用字段 * @param <T>实体类 * @param <K>主键 * @author xsl */ public class