实体类

java中Dao模式

ε祈祈猫儿з 提交于 2020-03-21 01:18:22
   java中Dao模式 什么是DAO 1.Data Access Object(数据存取对象) 2.位于业务逻辑和持久化数据之间 3.实现对持久化数据的访问 DAO模式的作用 1隔离业务逻辑代码和数据访问代码 2.隔离不同数据库的实现 业务逻辑层,数据访问层(Oracle,SQLServer,MySQL) DAO模式的组成部分 DAO接口 DAO实现类 实体类 数据库连接和关闭工具类 DAO模式的实际应用 定义一个接口PetDao public interface PetDao{ int save(Pet pet);///实体类 int del(Pet pet); } 定义PetDao接口的实现类 public class PetDaoSQLServerlmpl implements PetDao{ public int save(Pet pet){......} public int del(Pet pet){......{; ....... } PetDao实现类的方法:update()方法 什么是DAO 1.Data Access Object(数据存取对象) 2.位于业务逻辑和持久化数据之间 3.实现对持久化数据的访问 DAO模式的作用 1隔离业务逻辑代码和数据访问代码 2.隔离不同数据库的实现 业务逻辑层,数据访问层(Oracle,SQLServer,MySQL)

ORM组件XCode(十八般武艺)

南楼画角 提交于 2020-03-20 07:23:56
之前,XCode总是若隐若现,耐性好的同学想知道它还有啥特点,沉不住气的则认为不过是CURD耳! XCode开发模式是灵魂,XCode组件通过具体实现对其支持! XCode的特点如下: 0、基本的CURD功能 实在想不出来不支持CURD的ORM算不算ORM;也实在想不出来仅有CURD的ORM算不算ORM。因而,这是0号功能! XCode的CURD通过反射实体类生成查询和操作SQL实现,数据库结构信息通过特性附在实体类上。之所以选择SQL而不是DbCommand,因为XCode的实体层和数据访问层是分开的,目前是为了实现一级缓存,将来会在这里实现分布式数据访问。 1、完美支持ObjectDataSource XCode实现充血模型(胀血模型)的实体类,提供ObjectDataSource需要的所有方法和参数,特别支持分页和排序功能! 详见 《与ObjectDataSource共舞》 2、全面分页支持 只有从小处开始培养分页的思想,任何查询都指定所需获取数据范围,才能保证系统数据变大时系统不会拓机。 XCode的分页以任意查询语句为基础,支持统计等非常复杂的查询分页。并且会根据当前数据库类型以及版本选择最佳分页方案。 详见 《撬动千万级数据》 3、实体集合支持 实体集合EntityList<TEntity>继承自List<TEntity>,提供了实体的批量操作

@MappedSuperclass注解的使用说明

喜夏-厌秋 提交于 2020-03-19 07:01:18
基于代码复用和模型分离的思想,在项目开发中使用JPA的@MappedSuperclass注解将实体类的多个属性分别封装到不同的非实体类中。 1.@MappedSuperclass注解仅仅能标准在类上:@Target({java.lang.annotation.ElementType.TYPE}) 2.标注为@MappedSuperclass的类将不是一个完整的实体类,他将不会映射到数据库表,可是他的属性都将映射到其子类的数据库字段中。 3.标注为@MappedSuperclass的类不能再标注@Entity或@Table注解,也无需实现序列化接口。 可是假设一个标注为@MappedSuperclass的类继承了另外一个实体类或者另外一个相同标注了@MappedSuperclass的类的话。他将能够使用@AttributeOverride或 @AttributeOverrides注解重定义其父类(不管是否是实体类)的属性映射到数据库表中的字段。 比方能够重定义字段名或长度等属性。使用@AttributeOverride中的子属性@Column进行详细的定义。 注意:对于其父类中标注@Lob注解的属性将不能重载,而且@AttributeOverride里的@Column设置都将不起作用。 JPA规范中对@Lob注解并没有说明不能同一时候标注@Column注解

Hibernate各种查询操作(一)

十年热恋 提交于 2020-03-19 05:52:32
测试数据库如下 t_sort表: t_good表: 一、对象导航方式查询   查询所有食品类下面的食品   代码:    //对象导航查询 @Test public void Test1(){ SessionFactory sessionFactory = null; Session session = null; Transaction tx = null; try { sessionFactory = HibernateUtils.getFactory(); session = sessionFactory.openSession(); tx = session.beginTransaction(); //1、使用get方法查询出食品类 Sort food = session.get(Sort.class, 1); //2、使用sort对象的方法得到所有食品类中的食品 Set<Good> set = food.getSetGoods(); //3、遍历set集合 for (Good good : set) { System.out.println(good); } tx.commit(); } catch (Exception e) { tx.rollback(); }finally{ session.close(); sessionFactory.close(); } }  

Hibernate的联合主键注解方式

a 夏天 提交于 2020-03-16 11:57:55
某厂面试归来,发现自己落伍了!>>> Hibernate联合主键注解方式,即是Hibernate中某一张表出现多个字段联合为唯一主键的情况。这时候就可以使用Hibernate的联合主键来操作。以用户表为例子,userId+userName为唯一主键,因为有时候会出现多个用户的姓名是一样的,如果加上userId就可以控制唯一,判断是否是同一个用户。 注: 主键类 (UserPK类)是指只有userId和userName的联合字段的类,即是多个字段联合为主键的类==联合主键类。 实体类 是指用户表的User类。 方式一 主键类(UserPK类): 该类实现 java.io.Serializable 接口,并重写 equals 和 hascode,再将 该类注解为 @Embeddable。 实体类(User类):该类不包含主键类中的字段,但是需要保存联合主键类的引用,并且生成set和get方法, 并将该引用注解为 @Id 。实体类注解为@Entity和@Table。 实体类: import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import java.io.Serializable;

1、实体类中的实体类

早过忘川 提交于 2020-03-12 12:23:19
实体类: TeacherBean: public class TeacherBean { private String name; private String project; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getProject() { return project; } public void setProject(String project) { this.project = project; } @Override public String toString() { return "TeacherBean [name=" + name + ", project=" + project + "]"; } } StudentBean: public class StudentBean { private String name; private String num; private TeacherBean teacher; public String getName() { return name; } public void setName(String name) { this

逆向生成实体类

匆匆过客 提交于 2020-03-11 03:44:27
首先,要在eclipse中采用自带的数据库管理器(Data Management),连通你的数据库: Window->Show View->Other->Data Management->Data Source Explorer Data Source Explorer-》Database Connection-右键->new->Oracle 在New Connection Profile窗口中点击三角旁边的加号->Name/Type-选择Oracle版本->JAR List-选择相应数据库版本的jar包 Properties-依据自身情况填写数据库连接配置-Properties->General-完善Properties下的General选项卡内容,同样是连接数据库的信息,配置完后点击Test Connection按钮测试是否能连通数据库。 生成hibernate实体类 打开Hibernate Configurations窗口。Show View->Hibernate->Hibername Configurations 打开窗口右击,点击Add Configuration 。Hibername Configurations->Add Configuration Project选择项目(test),Database connection选择刚刚配好的MyOracle 在项目

2,ORM组件XCode(速览)

别来无恙 提交于 2020-03-10 19:00:13
啥也不说,上图: 这是最基本的增删改查代码! 符合 X系列组件的一贯作风,不求万能,只求简单实用 ! 不支持多表查询,所以不是万能的,仅仅支持单表,所以是简单的,增删改查都得到了直接支持,完全能解决80%以上的场景,所以是实用的。 UserMember类由代码生成器生成,每张表对应一个类,每个表字段对应类属性,然后加上增删改(Insert、Update、Delete、Save=Insert/Update),还有静态的查找Find,完成了一个实体类的基本结构。各方法名称尽可能接近SQL操作名称(Find特殊,等效于Select),整体上让人更容易理解。 在实体类的基础之上,我们只需要编写业务代码即可,如上图! 上图的实体类UserMember由代码生成器生成,基本上没有做任何修改,唯一的额外工作就是在配置文件的connectionStrings段增加一个配置项: 就连这个配置项,也是.Net自身的结构,不属于XCode的配置。到此,上图代码即可运行。 至于XCode如何操作数据库,用户不需要关心,甚至不需要关心当前使用的是哪一种数据库,配置项指定的是哪种数据库,XCode就用那一种。 大石头 新生命开发团队 2010-08-20 00:36 作者: 大石头 发表于 2010-09-12 12:11 原文链接 评论: 12 查看评论 发表评论 最新新闻: ·

Json格式解析

泪湿孤枕 提交于 2020-03-09 03:21:09
1.什么是Json JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 JSON就是一串字符串 只不过元素会使用特定的符号标注。 {} 双括号表示对象 [] 中括号表示数组 “” 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象) 所以 {“name”: “Michael”} 可以理解为是一个包含name为Michael的对象 2.Json解析四种方式 2.1传统方式json-lib 导入依赖: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> 实体类转换为json字符串 实体类: public class User { private Integer age; private String name; private String password; public User() {} public User(Integer age, String name, String password) { this

SpringBoot图文教程12—SpringData Jpa的基本使用

ⅰ亾dé卋堺 提交于 2020-03-08 22:05:01
有天上飞的概念,就要有落地的实现 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例都敲一遍 先赞后看,养成习惯 SpringBoot 图文教程系列文章目录 SpringBoot图文教程1「概念+案例 思维导图」「基础篇上」 SpringBoot图文教程2—日志的使用「logback」「log4j」 SpringBoot图文教程3—「‘初恋’情结」集成Jsp SpringBoot图文教程4—SpringBoot 实现文件上传下载 SpringBoot图文教程5—SpringBoot 中使用Aop SpringBoot图文教程6—SpringBoot中过滤器的使用 SpringBoot图文教程7—SpringBoot拦截器的使用姿势这都有 SpringBoot图文教程8 — SpringBoot集成MBG「代码生成器」 SpringBoot图文教程9—SpringBoot 导入导出 Excel 「Apache Poi」 SpringBoot图文教程10—模板导出|百万数据Excel导出|图片导出「easypoi」 SpringBoot图文教程11—从此不写mapper文件「SpringBoot集成MybatisPlus」 前言 在之前的文章中介绍过了Mybatis,MBG 和 MybatisPlus 等一系列Mybatis相关的技术,有朋友在评论区提到了Jpa