00:00
我们看一下Java的时间和日期类型,如何进行harm映射。首先看两个基础,基础知识。第一个大中代表时间和日期的类型有两个,一个是u date,一个是YouTube calendar。在jdbc API里边提供了三个,分别是circle date circle time跟circle time step,那这三个呢,是这三个实际上是对u date的困难。我们把账号里面有哪些日期、时间类型说清楚了。第二点。在标准的circle里面。一个date类型代表日期,Time代表时间,Time STEM代表时间戳,时间戳是既包含日期又包含时间。那其中JA类型跟磁扣类型的这个对应关系呢,应该是。
01:01
Time。对应着这个time类型,Circle date对应着这个date类型,而circle the time对应着这个time类型。这样的一个对应关系,但是注意到这个u to date是不是这三个类的负类呀,所以说这个u to date可以同时对应这三种类型,它是负类,它兼容嘛。对吧。我们来把这个呢来做一个笔记。二。映射Java的时间、日期类型。一点。两个基础知识。
02:03
分别是这两个复制一下。第一个。大中代表时间和日期的是这两个。此外,ABCAPI里边提供了三个扩展。它们分别对应着四口里边的a time time STEM。第二点。就是circle口里边啊,It代表什么,Time代表什么time STEM代表什么?好,我们要说的是。第二点。到底如何进行映射?好,刚才呢。我们说。这个circle date对应的是date类型,Time对应的是。
03:04
Time类型,Circle time stamp定的是STEM类型,好了,那我有哪一种类型分别可以跟这个?Eight time comes。那就是我们的U。因为。Java点优点,Edge。是。这三个类的父类。所以。Due to this。可以和第三种类型不对应。
04:05
可以对应。标准的八八他。所以我们建议大家在设计持久化类的时候,把那个date类型设置为YouTube date。B1。所以在设置只有化类的。类型时。设置为。java.u点,因为这个类型啊,可以跟这个三个都兼容。
05:00
三那我要是YouTube date的话,我如何让这个YouTube date是一个time类型或者是一个date类型呢?再一个就是如何。把Java点点。应设为。这三个类型呢?那我们的第一点是啊,我们已经说了是吧,九化类这个date呢,是它下一个就是19化类是这个类型了,那我如何映射为这个a time或者time time呢?哎,可以通过。Property。的type属性,哎。处境来进行。
06:00
映射看吧。反过来。这。这个type啊,目前是一个Java的一个类型。我们知道它可以指定her类型,比方说date。再来。嗯,看见了吧,或者是。I都可以。例如。例如这样的方式。Egg是映射。为了。STEM。或者叫。或者叫am。是吧?其中。
07:02
It。但B不是。Java类型。也不是。标准。Circul而是什么呀?而是harm映射类型,这个哈映射类型就像一个扁担一样,它前边挑着RA类型,后边对应着那个字库类型。我们来看这个表。就是这个嘛,是吧,我们找来。找time stamp。Go to date用的是time sta。Date date对应的是date。Time。
08:05
Time这边没写哈,但是这个time time呢,这是u date后边就是一个time类型。STEM。我确实是没写。那我们就去找他了啊,但是这样映射是没问题的,OK。我们基于这样的。基础知识得到这样的两个结论。第一个。进行19化类设计的时候呢,设计为u date,因为这个u date可以对应circle里边的任何时间日期类型。二。第二点,进行这个实际映射的时候,比方说我想把这个u to date映设为时间日期啊,就写这个。用设备日期写这个零应设备时间写这个OK,看看效果吧。来。
09:01
STEM。把这表删了。添加。一直添加。放心。之间日期。改一下,改成。Date。我每次的这个单秒表是不是很麻烦呢?可以怎么办呢?我可以来改一下harm配置文件。把这个生成表的方式改为create。这个。这种。大家看这个类型。
10:01
Hit了吧?这里这里边呢,好了再写为M。看见了吧,好了。这是一个time类型了,嗯。我把这个改回来哈,这改为。Update。那怎么样呢?我们说我在获取的时候。我这个YouTube是可以兼容的,找一个。我这样获取没问题,我打印一下啊。ADD。Date。大家看,哎,又是一个直间,这个类型实际上是什么呀。Bag。再看一遍。
11:03
是不是一个circle time类型啊,看到了吧。它是兼容的,你这个时候如果你一定要想把这个类型那么写的时候啊,里面一个circle date要这么写的话,有时候就出问题了,出什么问题啊。我在获取这个对象的时候啊,我获取不了了。因为他回来,回来的是一个time类型,因为time类型并不是circle类的子类。我们还是用这个方法看一下。外出出了我们不管啊。这么回不来呀?Time类型是没有办法付给那个circle。回来。OK。这样的话呢,我们就把这个。时间日期类型的类映射说清楚了,像这个时间日期类型的哈类映射,我们是一定要指定这个。
12:04
一零这个type,要不零这个不零这个type会怎么样,要不零这个type的话呢,我就我就会默认的,毕竟说那个date time。就是既有时间又有日期,这个时候比方说你要就需要一个这个日期,或者就需要一个时间的话,那这个时候是达不到目的的,所以说我们在映射这个。类型的之后,我们建议大家一定来写这个type,当然其他类型的话呢,这个type也需要写哈,这个的话呢,需要额外的。B一下,具体的话大家可以来看这个笔记。好,这个过了。我们来看这个Java大对象类型的哈门的映射。这个呢,开发的时候用的不多,我们需要了解一下。什么叫大对象啊,比方说。行行文本就是长度超过255的,这个文本表示二进制数据。
13:05
大中这个string啊,可以代表长时串,而这个字节数组可以用来存放。图片或者是文件对应的R进制数据,ADBC里边的话呢,又提供了circleq club或者是circle club分别对应的标准circleq里边的club跟club。值得注意的是呢,买circle不支持标准口的club,他用的是text1.text或者long text来代替这个club,就是说这个长度大于二五的这个文本。我们在持久化类里边,我们可以写这个。艾数组或lo。文本呢,可以写为string或者是club。在具体实际开发的时候呢,我们要是指定这个传文本的话,肯定使用这个string比较方便啊。以上是我们关于大对象的一些基础知识,好,下面我们来通过代码进行测试。
14:13
Use。我们指定一个content,这个我们说。大文本。再来一个类型的。我们说这个是图片image。二进制。数据好吧,看一看这两个如何来进行映射。找到配置文件。映射。对象。
15:01
Property。名字。指定一个APP吧。这个type的话呢,我们可以指定说叫。Globe。已经写上啊好,那我们看MYSQL里边它是如何来进行对应的。再来。Property。还有一个叫。Image。这个太定的,肯定是。Love。把这个改一下,改成。在添加的时候呢。我们这样吧,我们先不看这个添加,我们先来这个表,具体添加那个,嗯。Club跟club的话,我们一会儿再定下代码。有一个调一下。
16:01
执行失败了。就说我们如何来看这个错误啊,看这cos by是吧,到最后一个cos by。哦,我们一起对应的get set方法。着急是吧,有两个属性就完了,写上对应的爱赛的方法。再来。了。我们来看一下这个数据表。Out。关一下,别开。O,我们看。每集给我映射完之后叫longlo content,映射之后是long text,它倒是可以进行映射,不过这个映射的结果呀,不是特别精准。比方说我只希望这个content呢是一个text,而不是long text这个一美呢是一个呃,Melo,而是不是一个longlo,怎么办?
17:10
这个时候两种办法是吧,一种办法的话呢,我们可以做之后的话呢,来修改这个数据表。还有一种办法,我在映射的时候啊,我可以精确指定SQ类型是什么。所以到指定circle类型是什么,谅解。Content。Circle,注意,这个叫me。Medium。这个时候他就不用写了。列一样。Column。Image。Medium。Lo。
18:01
再说一遍。应该看一下。F5。Out table,大家看media text media OK了,想精确映射的话呢,我们需要使用什么呀?使用这个circle type。若希望精确映射circle类型,可以使用circle。太入境。啊,这个映射的话呢,成功了,下面我们来看如何来进行保存呢。
19:01
那保存的话呢,关于这个string型,就是这个长文本的型,我们就不说了哈,这个比较简单,我们来说一下这个lo的事吧。Public VO g Bob。我希望把一张图片数据库里边。然后我们就把那个图片再取出来。我们还是写这个new对象。The new news。一个一个指定吧,在。来。C。在的company。Content。Set date。Eight。Sad。
20:01
ICEIC。再看A,不用开头,OK,我们就CC。最重要的就是这个news点。有包不的那种。Lo类型的image等于二。And trust all。我们或许啊。Hiberle有一个工具类,就叫humber点。B。Lo,以前的方法啊,这叫getlo great。点。C。看见了吧,我只需要一个对应的一个input就可以了。
21:02
等于new file stream。有一场。买炮。还没到那块儿呢是吧?stream.available有一常外泡一泡1EXCEPT就可以了。执行保存操作。单身点save。那我需要去定位到一个图片。我搞一个图片出来。图片库。智力图片。比方说。鲜花。Proceed。放到当前应用的目录下。Hoppy。放这儿。
22:01
保存一个。成功。Qui。刷新我们看一下哈,这个时候呢,这个content打开。这个时候它就是一个文本嘛,看看图片都在了。后边的都是正常的。你看好,这就是保存,保存的时候呢?我们需要借助于harmon的一个get Bob create create pop方法。获取呢?或许的话呢,我会得到一个new对象。六点,Glass。当然,我需要把这个改为。Updated。
23:01
然后呢,我要得这个一美是一个类奖。等于news get image。我要得到一个输入流吧,我好像输出流给他写出去啊。Image点是不是有流啊B。这是一个输入流。弹一下就可以了,In点我们就不给他用L再存了哈,利用L醇的话,大家自己在口后进。有一个。看到了吧,没问题,什么525284这个圆。PRO525284 OK,没问题,大家可以通过这样的方式呢,给它读出来。就是我们对lo的读写操作,整个这个lo这个映射呀,包括读写呀,仅是做一个了解就可以了。开发的时候我们。
24:07
病毒怎么这样用,我们通常情况下把这个文件传到指定的文件夹下,然后呢,我在这个数据表里边建立一个pass。或者一个T这样的一个字段,这个字段指向。对应的那个文件是这个意思吧,这样做的时候多,而这样说直接让数据库里边出现一个文件,呃,这种情况并不是非常的多见,如果要是用到的话,这样用。继续。映射组成关系。这块的话呢,我们这个映射就变得越来越有意思了。域模型就是面向对象跟分析数据模型数据库有着不同的出发点。域模型。由程序代码组成。我们希望通过细化、持久化类的力度,以提高代码的可用性。
25:05
就是说我们在这个模型里面,我们发现这几个属性可以抽一个类转出来,然后这个类的话呢,可以得到更多的重用。而在。分析数据模型,在没有数据冗余的情况下,我们尽可能的减少表的数目,电话表之间的参照关系,以提高访问数度。我一个表去访问数据,跟我进行多表查,多表连多表,这个连接访问数据哪一个快呀?肯定是多表链接。这个速度。快一点,担保的速度快一点,于是的话呢,出现了这样的一件事,我在大类里面是两个类。如果在数据表里边是一张表,这种情况应该如何进行应对?来看这个说harmlet把持久化类的属性分为两种,一种是直类型,注意直类型我对应的那个引用没有OI。
26:07
那我们这个里边哈,Worker和一个配这个工资,这个工资里边没有ID。生命周期完全依赖于所属的19花类的生命周期,叫职类型。另外一种呢,叫实体类型,有OD,可以被单独持久化,有独立的周期,我们这个主成关系指的是这个实类型,而不是实体类型。治一下吧。点一个叫worker。Private的ID,然后呢,我有一个公司。对应的盖塞的方法。
27:06
OK。解,一个配出来。这叫公司。工资有月薪。年薪。还有带薪休假的时长。VOV资。OK,写上对应的代赛的方法。配里边呢,特别需要注意的是,我们这个配就是要。类型没有ID好了,看如何进行映射呢?
28:02
HBM。下一步。下一步,下一步。测试这个没有哈。News这个没有,我们直接用手worker就可以了,找一个。这边这个映射是有错误的哈,你必须需要重新映射。那些property吗?么?看worker里边,我映射这个name是不是用property呀。这个配必定是一个引用类型吧。啊,它是类型是实体类型就是哈,但是你也不能够使用property了,它是它的一个。补电。我们只用。Component。来映射组成关系。使用。
29:05
然后我再来指定里边的。主境。指定组成关系的。主店的主境。Mentally pay。Ho。三个。K。YEAR。下一个。VOC with me。VO with pay。林瑞行,Glass。
30:01
配,那我这个时候大家看啊,这个配跟worker是不是在一个包里边啊。拿出来,我终于可以来用到这个。Package。成功。加进来。Worker。测试一下。Public world component。I。创建一个worker。等于六。Worker。创建一个配。Paid。等于六。配点S。月薪1000。
31:06
带年薪。8万。爱心休假。五天。ERSABCD。worker.site进来。3.c入口。搞一搞。失败了。按一下吧。为啥呀,不ID有问题啊。没有指定这个叫。
32:00
对手。已经来不及了是吧,因为我这个数据包已经生成了,我需要给他删一下。刚才生成那个数据表的话呢,它指定的就是。嗯,没有使用这个native的生成方式。这个周应该没问题了。OK,看一下。放心。打开ID。ECD1800万没问题,就是我们的。主电映射component映射这个组成关系。我们使用component元素来映射组成关系。该元素的。有名。被属性是一个work类的一个组成关系,Harm类的称之为主件。这个power呢是什么呀?说元素指定组件所属的整体类,但前提是我们在这个组件里边得有这样的一个属性我才能写。
33:08
比方说我有一个他。问号,就是说我这个公司属于谁呀?要写他的话,我可以在这个映射文件里边来写一个po。Parent。Her。可以。这种。没问题的,就是这个worker。啊,那这块的话呢,我们把这个主成关系就。说完了。
我来说两句