实体类

Spring Boot 整合Spring Data JPA

房东的猫 提交于 2019-11-27 10:12:25
一、前言 前些时间一直在学习 Spring Boot整合Mybatis ,现在给大家分享一下我学习JPA的经验,如果发现此文有什么问题或者改正的地方,欢迎大家在博客下面留言. 二、项目搭建 2.1 创建项目 新建一个Spring Initializr项目 创建项目的文件结构以及jdk的版本 此demo选择的JDK版本为1.8 选择项目所需要的依赖 完成项目创建 2.2 数据库准备 创建数据库 create database 'bookstudy_jpa' default character set utf8; 因为使用JPA的方式,在此故不需要创建表,表的创建在项目启动时,会根据实体类自动生成. 2.3 项目构建 2.3.1 创建实体类 package book.study.springboot_jpa.entity; import lombok.Data; import javax.persistence.*; @Data @Entity(name = "t_book") public class Book { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Integer id; @Column(name = "book_name",nullable = false) private String

通过实体类生成建表SQL语句实现方法

≯℡__Kan透↙ 提交于 2019-11-27 10:11:05
import java.io.File;import java.io.FileOutputStream;import java.lang.reflect.Field;import java.util.ArrayList;import java.util.List; import org.hibernate.hql.internal.ast.SqlGenerator;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Test { private static final Logger logger = LoggerFactory.getLogger(SqlGenerator.class); public static void main(String[] args) { //实体类所在的package在磁盘上的绝对路径 String packageName = "d:/workspace/"; //生成sql的文件夹 String filePath = "I:/create/"; //项目中实体类的路径 String prefix = "com.zh.entity."; String className = ""; StringBuffer sqls = new StringBuffer(); /

Dapper(一) 简介和性能

江枫思渺然 提交于 2019-11-27 10:02:35
Dapper的简介   Dapper是.NET下一个micro的ORM,它和Entity Framework或Nhibnate不同,属于轻量级的,并且是半自动的。Dapper只有一个代码文件,完全开源,你可以放在项目里的任何位置,来实现数据到对象的ORM操作,体积小速度快。 使用ORM的好处是增、删、改很快,不用自己写sql,因为这都是重复技术含量低的工作,还有就是程序中大量的从数据库中读数据然后创建model,并为model字段赋值。这些ORM都可以轻松给你搞定。ORM给我们开发带来便利时,性能也是一个让我们不得不考虑的问题。一般的ORM性能和直接写原生的sql比都差不少,但是Dapper性能还很错,甚至和DbHelperSQL方式性能高出很多。 Dapper的优势 Dapper是一个轻型的ORM类。代码就一个SqlMapper.cs文件,编译后体积小。 Dapper很快。Dapper的速度接近与IDataReader,取列表的数据超过了DataTable。 Dapper支持多数据库。诸如:Mysql,SqlLite,Mssql系列,Oracle等一系列的数据库。 Dapper的R支持多表并联的对象。支持一对多 多对多的关系。并且没侵入性,想用就用,不想用就不用,无XML无属性,代码以前怎么写现在还怎么写。 Dapper原理通过Emit反射IDataReader的序列队列

暑假亡羊补牢 day3 封装1

谁说我不能喝 提交于 2019-11-27 07:45:03
package 封装; /* 面向对象三大特征: 1. 封装 2. 继承 3 多态。 需求: 使用java类描述百合网的会员。 问题: 性别有问题?? 根本原因: 由于其他人可以直接操作sex属性。可以对sex属性进行了直接的赋值。 封装: 权限修饰符:权限修饰符就是控制变量可见范围的。 public : 公共的。 public修饰的成员变量或者方法任何人都可以直接访问。 private : 私有的, private修饰的成员变量或者方法只能在本类中进行直接访问。 封装的步骤: 1. 使用private修饰需要被封装的属性。 2. 提供一个公共的方法设置或者获取该私有的成员属性。 命名规范: set属性名(); get属性名(); 疑问: 封装一定要提供get或者set方法吗? 不一定, 根据需求而定的。 规范 : 在现实开发中一般实体类的所有成员属性(成员变量)都要封装起来。 实体类:实体类就是用于描述一类 事物的就称作为实体类。 工具类(Arrays数组的工具类): 封装的好处: 1. 提高数据的安全性。 2. 操作简单。 3. 隐藏了实现。 */ class Member{ public String name; //名字 private String sex; //性别 public int salary; //薪水 //定义一个公共的方法设置sex属性 public

实体bean为什么一定要实现Serializable接口

守給你的承諾、 提交于 2019-11-27 07:30:28
一、什么是序列化 In computer science, in the context of data storage, serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and reconstructed later in the same or another computer environment.[1] When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object. 那我也有看过很多的博客包括书,但是我之前其实一直不太理解这个序列化,虽然一直都在用。今天在看资料 的时候,发现导致这种现象的原因,可能是我之前看的一些介绍里面,忽略了一个很关键的因素:object

08_JPA中实体类的注解

好久不见. 提交于 2019-11-27 07:09:45
实体类 package com . bang . jpa ; import javax . persistence . * ; /** * @author: jinbang * @create: 2019/8/12 13:47 */ //关联数据表 @Table ( name = "jpa_customers" ) //持久化类 @Entity public class Customer { @Id //标明是主键 @GeneratedValue ( strategy = GenerationType . IDENTITY ) //设置主键生成策略 private Integer id ; @Column ( name = "last_name" ) private String lastName ; private String email ; private int age ; //下面是getter和setter 【注意】 :需要在persistence.xml上添加持久化类[外链图片转存失败(img-Ou6zbNDw-1565746905011)(…/…/…/…/…/%E6%AF%8F%E6%97%A5%E6%95%B4%E7%90%86/Java/%E6%A1%86%E6%9E%B6/ORM%E6%A1%86%E6%9E%B6/JPA(Java%20Persistence

享元模式(十二)

梦想与她 提交于 2019-11-27 05:51:06
主要用于减少创建对象的数量,以减少内存占用和提高性能 尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象 换句话说就是共享对象,在某些对象需要重复创建,且最终只需要得到单一结果的情况下使用 菜鸟案例: 我们将创建一个 Shape 接口和实现了 Shape 接口的实体类 Circle。下一步是定义工厂类 ShapeFactory。 ShapeFactory 有一个 Circle 的 HashMap,其中键名为 Circle 对象的颜色。无论何时接收到请求,都会创建一个特定颜色的圆。ShapeFactory 检查它的 HashMap 中的 circle 对象,如果找到 Circle 对象,则返回该对象,否则将创建一个存储在 hashmap 中以备后续使用的新对象,并把该对象返回到客户端。 FlyWeightPatternDemo,我们的演示类使用 ShapeFactory 来获取 Shape 对象。它将向 ShapeFactory 传递信息(red / green / blue/ black / white),以便获取它所需对象的颜色。 重点 :减少重复对象的创建,没有再创建,有就可以用有的对象 图例还是需要分开看,再进行合并 很正常的 Shape 接口和它的一个实现类 Circle mian 方法就是执行的头,里面还有三个方法,就是颜色,X,Y 这它创建了一个工厂

JSON.parseArray和JSON.parseObject

主宰稳场 提交于 2019-11-27 05:45:22
JSON.parseArray和JSON.parseObject 都是将json字符串转为实体类的方法,那么二者有什么区别呢? 取决于json字符串的格式 JSON.parseArray用于如果是用[] 包裹的 JSON.parseObject用于如果是用{}包裹的 来源: https://blog.csdn.net/ZHOU_VIP/article/details/99460898

CXF+S2SH集成

岁酱吖の 提交于 2019-11-27 04:19:49
在 CXF+S2SH服务端 集成时,遇到很多问题。 主要是 jar 不兼容的问题。 CXF 2.6 + Hibernate3+struts2.0+spring3.0 1、首先看 Root 项目服务端的配置: Action 只是测试调用服务端 cxf-springDemo 用的 Struts2Filter : 继承 FilterDispatcher 类,过滤 cxfServlet 的路径,以免 struts2 的过滤器将其过滤掉了。 Struts.properties: struts.action.excludePattern=/webservice/.* 配置 struts2 的过滤机制,不过滤路径为 webservice/.* 的 URL , 这个 URL 为 CXF 占用,等下在 web.xml 会配置的。 SpringService : 对外提供的接口 注意:在接口类名上要使用注解 @WebService, SpringServiceImpl : 实现 SpringService 接口,对于服务端需要实现里面的方法。 注意:对于实现类要使用 DAO 层对象操作数据库,需要使用注解注入 DAO 层对象。如下: // 此处要采用注解注入 @Component("SpringService") @WebService(endpointInterface="com.spring

.NET xml标签转实体类的处理

偶尔善良 提交于 2019-11-27 03:39:47
1.解决问题:接入外部接口的时候会出现xml有很多标签的问题,而接口里面需要定义相同的实体类来转换为需要使用的实体类,避免手动进行写代码,使用工具进行转换使用; 1)使用josn.cn 网站进行xml转josn的处理; 2)在vs里面编辑菜单选择json 粘贴为实体类即可; 来源: https://blog.csdn.net/qq_25580555/article/details/99330234