00:00
那我们来看一下,那接下来呢,我们在我们的数据库当中呢,在添加一些其他的字段,比如说呢,就是这个create time这个字段,还有update time这个字段啊注意这个是有下划线的,截图的时候没给他截下来,但是是有下划线的,好那么我们呢,就添加一下这个字段,在这个数据库表设计这个地方呢,我们。往下按一下箭头,它就自动添加了一个新的行,然后呢,我们在这个地方呢,添加一个叫create time,叫创建时间,我们给他一个默认的数据类型叫data time,然后所以这块呢,我们给他写一个叫。创建时间啊好,接下来呢,我们在添加一个叫做更新时间。然后接下来呢,我们给他。往前这块呢,我们给他一个名字叫update。Time,然后这块呢,也是data time,好我们给它保存一下,然后相对应的呢,在我们的实体类当中,那大家可能就会想到了,我们需要针对这个create time和update time呢,添加一个具体的。
01:12
之。Private,那通常情况下呢,大家可能会用这个data哈。Time,但是在这个里面呢,我想就是用一个更为优化的一个解决方案,就是这个YouTube.date呀,是。一个之前比较老的一个时时间日期类型了,然后他这个里面很多的一些方法呢,实际上都被啊就淘汰掉了,你看比如说我想针对这个date去创建一些数据对象,或者是获取他的年月日啊什么的,都已经被淘汰掉了,所以呢,如果你是做新项目的话,建议大家呢,还是用JAVA8当中推荐的那个新的,呃,实践日期的一个数据类型,当然了,如果是老项目的话,那么原原始的这个已经写好的,你就不要去改了,因为新的数据类型和老的数据类型呢,他们的互相的兼容性呢,还是不太有的啊,包括以后咱们在做这个,呃,Jason的序列化的时候,他们都是不太兼容的,所以说老项目不要轻易的去升级,但是新项目建议大家去给他改一改,改成什么样的数据类型呢?就是这个local data time,那你们JAVA8应该已经学了是吧,这个呢,是比我们的这个data time呢有很多优点的。那么具体的优点呢,我。
02:29
在这个地方给大家作为一个扩展知识又列出来了啊,因为是之前你们已经学过的内容了,所以呢,我就不详细的去讲了,忘记的同学呢,可以去看一看,好,然后接下来呢,针对这个update time呢和create time呢,我都做啊,就这样的两个数据字段呢,我们都给它填充一下,所以这面呢,就针对刚才添加的这两个数据库的属性呢。把它写上就可以了,写上之后呢,那么假设说我新增的时候,我有一种方式就是在我的测试当中,那我肯定呢,就我要填这两个数据的话,那么第一种方式就是在这个位置,我就user.set。
03:08
Create time对吧?啊,然后呢,我就需要呢,为它添加这个默认的值,那默认值怎么添呢?就local data time.now啊,就给它添加默认值了,同时呢,我还可以添加update time,所以you.set update time local date time.now是不是好,接下来呢,我们来运行一下啊,看一看有没有问题。啊,有些同学觉得这个结果理所当然是没有问题的,但是细心的同学可能会觉得,诶,好像哪块觉得不不不对,哪块不对呢?就是他那个属性的名字和列名其实并没有对应上,大家看一下我们这边属性的名字是不是写的是create time呀,是驼峰的一个编码方案,然后我们这边数据库的这个列名是不是起的是create下划线,他们呀是一个下划线的编码方案,其实他俩并不一样,就跟之前我们的ID和UID似的,那么有的同学就会想了,那诶,它怎么就自动转换过来了呢?是的。
04:17
My biggest plus当中。对于这两种。命名风格它会做自动的转换,那实际上呢,是因为在数据库的设计当中,这种是默认的数据库的命名风格,90%的企业都会用这种风格来命名数据库的列名和表名,而99%的九十九点九九九九百分之百的是不是企业呢,都会在这个Java编程的过程当中用这种风格命名,所以呢,基于这样的一个原因吧,啊,绝大多数的一个需求吧,那么买威斯plus呢,直接对这样的一个命名差异呢,做了一个默认的转换,所以呢,我们在我们的控制台当中可以看到它生成的SQL语句,实际上自动的已经将。
05:02
刚才的那个大写的time已经变成下划线和小写的time了。对吧,啊,所以说这是自动的转换啊好。就是我们所说的啊。第一个内容啊,这是我们所说的第一个内容啊,但是呢,还有一种情况,还有一种情况是什么呢?就是刚才咱们同学在前面的过程当中啊,问到的问题,比如说。其他的呢?啊,数据库当中,我这面叫username。对吧,啊,我在这块保存一下。然后呢,我实体类当中。我就还叫内。那这样的话他会不会自动转换?那你也太高看my be plus了,他没有那么聪明哈,我们来试验一下。右键啊运行。
06:03
好,大家看是不是报错了啊,他报告的错误那么很容易理解了,就一定是关于那个列名的错误啊,他呢,在插入的时候,嗯,他根据属性的名字插入了一个叫name的。属性,然后自动的把它转成列名,但是我们数据库当中呢,没有这个列,对吧?Unknown column,那我们数据库中的列呢,叫username,所以呢,根据之前我们的经验,我们可以在这个位置。在这个位置添加一个注解,这个注解呢,就是什么呀,就是table field的注解啊好在这个地方呢,我们添加。Table。Field,然后呢,在这个地方我们添加Y6。等于username明白哈,好,然后接下来呢,我们在这个地方测试一下。
07:05
好,大家看一下。这回呢,我们的这个测试呢就成功了,那么他呢,成功的将我们的name属性转换成了username列,好我们来看一下数据库。数据库。啊,最后这个呢,实际上就是我们刚刚添加的这条记录,11:33的时候。对吧,嗯,好,那所以呢,这块就是。我们刚才啊,整个对table field的一个value属性的一个讲解,那我们讲了什么呢?第一,如果我们的数据库当中的列。他的这个名字是下划线形式的,也就是说。是这种形式的。那么。Java程序当中的属性。
08:01
是这种形式的,那么我们的买plus会自动做映射。当然了,你说我就要写一个table field。有没有问题,没有问题可以你也可以自己手工做映射,但是这个映射是。多此一举的明白吧,啊,所以这个呢。多此一举哈,好,但是如果我们的数据库当中的列名和我们的。类当中的属性名,它没有符合这样的一个映射规律的话。那么我们就必须去手工做映射。所以这个呢是。必须。添加的明白哈,好,所以这块就是我们对table field的这个注解的value属性的一个说明。
我来说两句