一、mybatis-generator生成数据对象
确保mybatis的generatorConfig.xml配置文件和datasource.properties文件都没有问题。
双击右侧已经下载安装好的mybatis-generator插件下的generate命令。
这时下方运行窗口会输出【BUILD SUCCESS】,如图:
这时左侧的项目结构:
- 在dao包下会多出对应数据表的各种增删改查API;
- pojo包下会多出和数据库表对应的对象;
- 在resources目录下会多出mappers包,包下是与dao层接口相对应的实现xml文件,每个xml对应一个数据库表接口。
现在以Cart表为例,依次截图:
pojo:
dao:
mappers:
以上就是mybatis-generator插件执行后所自动生成的内容。大大方便了我们程序员开发。在此给mybatis团队一个大大的赞!
二、时间戳优化
之前我在建数据库的时候,为每个表创建了【create_time】和【update_time】字段,其中【create_time】是这条记录被创建的时间,而【update_time】是这条记录被更新的时间。这两个字段,是业界普遍公认的良好做法,当我们在查一些线上的业务逻辑问题的时候,这两个字段能够帮助我们快速锁定问题点,是非常非常有用的!
那么,因为这两个字段不可或缺,但作为程序员,我们并不希望每次进行数据库的插入还要特地关注这两个字段,未免太繁琐了。最好是,我们不在业务上关注这两个字段,而是数据库能自动在我们每次插入数据的时候更新它们。所以呢,接下来,就让数据库来帮助我们解决这个问题吧。
以mappers包下的CartMapper.xml为例:
找到创建和更新的sql。
- 创建的sql
将原先的create_time和update_time对应的value,改成mysql内置的获取当前时间函数now()。如下图:
同理,其他的insert也这么改。
- 更新的sql
因为是更新,所以我们只需要让数据库更改update_time字段就可以了,create_time不用管。
同理,其他的update也这么改。