JavaWeb电商项目笔记(七、mybatis-generator生成数据对象和时间戳优化)

一、mybatis-generator生成数据对象

确保mybatis的generatorConfig.xml配置文件和datasource.properties文件都没有问题。
双击右侧已经下载安装好的mybatis-generator插件下的generate命令。

Paste_Image.png

这时下方运行窗口会输出【BUILD SUCCESS】,如图:

Paste_Image.png

这时左侧的项目结构:

  • 在dao包下会多出对应数据表的各种增删改查API;
  • pojo包下会多出和数据库表对应的对象;
  • 在resources目录下会多出mappers包,包下是与dao层接口相对应的实现xml文件,每个xml对应一个数据库表接口。
Paste_Image.png
Paste_Image.png

现在以Cart表为例,依次截图:
pojo:

Paste_Image.png

dao:

Paste_Image.png

mappers:

Paste_Image.png

以上就是mybatis-generator插件执行后所自动生成的内容。大大方便了我们程序员开发。在此给mybatis团队一个大大的赞!

二、时间戳优化

之前我在建数据库的时候,为每个表创建了【create_time】和【update_time】字段,其中【create_time】是这条记录被创建的时间,而【update_time】是这条记录被更新的时间。这两个字段,是业界普遍公认的良好做法,当我们在查一些线上的业务逻辑问题的时候,这两个字段能够帮助我们快速锁定问题点,是非常非常有用的!

那么,因为这两个字段不可或缺,但作为程序员,我们并不希望每次进行数据库的插入还要特地关注这两个字段,未免太繁琐了。最好是,我们不在业务上关注这两个字段,而是数据库能自动在我们每次插入数据的时候更新它们。所以呢,接下来,就让数据库来帮助我们解决这个问题吧。

以mappers包下的CartMapper.xml为例:
找到创建和更新的sql。

  • 创建的sql
Paste_Image.png

将原先的create_time和update_time对应的value,改成mysql内置的获取当前时间函数now()。如下图:

Paste_Image.png

同理,其他的insert也这么改。

  • 更新的sql
Paste_Image.png

因为是更新,所以我们只需要让数据库更改update_time字段就可以了,create_time不用管。

同理,其他的update也这么改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容