00:01
这个spring配置文件我们编写完成以后呢,来,我们接下来就来编写我们马贝蒂斯的这个配置文件。首先是我们马贝蒂斯的这个全局配置文件,其实这个全局配置文件呢啊,我们都可以不要,我们把将全局配置文件中所有能配的内容,哎,使用property配在这个B里边也行,但是呢,我们还是一般给它保留出来,那如何写呢?我们可以参照马贝蒂斯的官方文档。好,我们可以搜索我们这个马蒂斯,来到我们马贝蒂斯的这个项目地址,好,Get下的马蒂,这是他的官方文档,点进去好有一个getting start快速开始,这一块呢,第一个事例就是我们全局配置文件的编写实例。哎,拿过来主要拿到它这个表头好,然后呢,我们来编写configuration,比如呢,我们把一些啊比较配起来不好配的这些setting,我们这些东西我们可以放在哎,我们全局配置文件中来。
01:04
比如呢,我们配置上一项啊,这个全局设置,我们这个全局设置呢,我们之前用过一个这个叫驼峰命名规则,这个还是很好用的,来我们来往下看。往下翻,哎,我们来看一下托福命运规则,在在这儿,Map underso。好,我们把它开启。啊,包括呢,比如我们可以把咱们这个啊类型别名的这些配置我们也放在这,我们给我们鼻影包下的每一个B,我们来起一个别名啊,方便我们引用,这是我们全局配置文件的编写,那么接下来重要的就是我们这个map文件了,这个map文件呢,其实它会是会对应一个我们这个map接口,而我们这些接口就是我们do层直接跟数据库进行交互的,咱们这个增删改查API。
02:00
所以说呢啊,我们先来创建出我们要用的这些表,那么这个表呢,我先来创建一个表,我们就以两个测试表为例,一个叫TBL-employ,这是我们员工表,员工表呢,它有ID,哎,我们比如呢就叫EPID,然后呢数据类型int。是因为然后呢,是它是主键让它自增啊,比如呢,我们还有一个EP name。眼皮嫩,我们来给它给一个我。往上长度呢,好,咱们给给它放一个大的255,好让它呢也是飞空,那么呢,还有呢,咱们这个针的性别,哎,这个性别呢,我们后来用MF来表示,所以说呢,我这个一个差一个字符就行了,那么接下来呢,啊,还有咱们这个email员工的邮箱啊,我们也可以用我。我看好长度呢,比如给个二五行,我们假设呢,有这么一张员工表,当然呢,我们再来创建一个部门表。
03:10
杠第一批。那么第1PT里边呢,有咱们这个部门ID。来,数据类型一样。英特11位,哎,它是一个主键自增的,哎还有一个呢,我们的这个部门名。比如我们这个玩。二五。啊飞控行,那么呢,我这里边有两张表,那么员工表部门表呢,它还是有联系的,比如呢,我们这个员工表里边还我们来修改一下,改变表,我们再来添加一列,就叫D-ID。那么这一列呢,哎,我们它是一个int类型,咱们这个11位,但是它是一个外键列,我先把这列保存过来,它有这么一列,这一列呢,它是保存了我们当前员工所在的部门,所以说呢,我们可以在这建外建关联,当然也可以不建外建关联的话呢,咱们数据的安全性会有保障。
04:14
好,我们可以建上外界关联改变表。外部键好,我们来起一个约束名FK,哎,我们呢是employee表跟dept表的这个关联,那么呢,我们引用列就是我们这个杠ID这一列,这一列呢,引用我们department表的咱们这个主件,所以说呢,啊,我们把这个外键可以定义好,那么这样的话的话呢,我们员工表,哎会关联我们来刷新,诶关联我们这个部门表,所以说呢,我们就来做一个员工的增删改查,当然他保存的时候呢,还有部门信息。所以说呢,我们要照着这两张表,现在要哎写一个do接口,包括要写这些B音,那么接下来我们能可想而知的就是我们乖乖的再来创建一个employee表对应的咱们这个鼻影类啊,再创建一个这个啊employee接口等等等等,但是呢,我们接下来可以使用马贝蒂提供的逆向工程来把这两张表对应的B类以及map接口都创建出来。
05:23
所以说呢,这一块我们注意一下,我们使用。咱们这要卖beat。的咱们这个逆向工程。生成生成我们这个对应的。表以及数据。生成对应的。咱们的B以及。咱们这个。我们用这个逆向工程来做。当然自己写起来也是没问题的,只是太麻烦了,如果这个表一多的话啊,几十张表,我们可能就写这些B都写好久,所以说呢,我们来用逆向工程,那么要用逆向工程也一样好,我们在这里边呢,我们来搜索啊,Generator。
06:08
好,这是它逆向工程所在的这个getb,好,这是我们gen的这个帮助文档,那么呢,我们怎么样用呢?Quick start,哎,首先我们就需要。哎,引入我们这个genator的这些炸包,哎,这个炸包呢,我们是用的形式,所以说我直接在里边我们来搜索MY。Generator。这里边呢,有一个general,我们把这个呢,代码生成器的这个炸包,我们可以拿过来。好,复制过来,我们在泡沫文件里边添加上马贝蒂斯generator。这是我们。使用咱们这个代码生成器。哎,这是MBG。好,我们这个memory里边呢,就会有我们这个my genator,那么怎么使用呢?哎,我们就按照官方文档,My genator的官方文档,这里边呢,有一个quick start快速开始来,我们呢按照这个只是先得创建一个这个configu file,一个配置文件,包含呢这些标签,如果不会的话呢,这也有一个事例,我们来点开。
07:25
那么呢,就是这个配置文件我们拿到。C,好,我们呢,就给当前工程里边,哎。我呢,创建一个码文件,我就叫MBG。然后呢,这个配置文件的内容我们拿过来。好,那么这个配置文件里边呢,啊,我们把这个class pass啊,这是它要导入的这些类什么的,哎,我们直接删掉,然后呢,我们来写我们自己的第一个JD bc connection,就是配置啊,配置咱们这个呢,数据库连接信息。
08:04
所以说呢,我们要逆向生成哪些表,那就得连连向数据库,这连接信息呢,我们还得配出来com.my circle。点JDBC,好,这是我们这个驱动类加上呢,我们的连接地址啊JDBC冒号my circle冒号,哎叫local host。3306来,我们连一下SS的c ru mud,好,还有呢,咱们这个用户名密码我也一并写上。3456。那么接下来呢,这儿有一个什么Java type reserve啊,Java类型这个什么解析啊,我们不用管,然后呢,有一个叫Java model JA Java模型生成,哎,它就是指定我们这个Java in生成的咱们的位置。哎,比如呢,这有一个target package,哎,你要生成在哪个包下,哎,我们就这个B包来放所有的扎。
09:06
那么呢,还有一个啊,咱们你要生在哪个工程底下,那么呢,我就直接来写电杠。哎,就是我们当前项目下的src下的慢下的Java,我要生存在这里。哎,就是这里,那么呢,我们接下来再来看这还有一个。叫map generator。哎,这就是呢,指定我们这个circle映射文件。设文件生成的咱们这个位置。好,我们呢,将所有的映射文件,我们期望放在这个resource下的这个,那么呢,我们这个target project。还是我们这个当前工程下的慢下的这个resource。好,把这个拿过来好,它呢我们就放在这个。
10:02
这个文件夹下,好,这是SQL映射文件。那么呢,还有一个叫Java,哎,这就是指定咱们这个指定。咱们第五接口生成的位置。哎,也就是说我们这些member接口生成的位置,我们这些member接口呢,哎,有一个target package target project,那我们这些接口也是放在。我们当前工程下的这个Java目录下。但是呢,哎,我们是放在com and硅谷c do,我们是放在这个方向。啊,这块我们就生成完了,接下来呢,Table标签是用来指定table指定。指定每个表。的生成策略。来,比如呢,我们这个表对应哪个be呢?哎,我们呢,可以来自己来写好,我来写一个table,那么该写哪些呢?我们来带来在这。
11:04
哎,这有一个configuration reference,这提示有一个table,这个table里边呢,有一个叫require attribu,必须的一个属性叫type name。比如说呢,你连向数据库以后,你要逆向生成哪张表呢?第一张就是我们TBLEP。银这张表,然后呢,哎,这张表对应的扎B类叫什么呢?我们可以用这个do object指定。比如呢,我们这个类就叫employee对象。好,那么呢,我们要生成的第二张表。我们要逆向分析的第二张表是咱们这个TBL,我们的这个dept部门表。而他呢,这个逆向生成的这个扎的名字,哎,我们叫department。
12:01
比如呢,我们叫它这一块呢,我们就制定好生成策略了,接下来生成就行了,那么怎么生成呢?在这一块有一个啊runab general啊点进去啊,我们是呢,用Java代码的方式带上配置文件,好,我们就来点这个,那么这个呢,按照配置文件生成代码,哎,我们CTRLC把这段代码我们拿过来。哎,我们来写在这里边,比如呢,我们就叫M。好,这里边呢,我们就来直接给个卖方法吧。好。然后呢,我们把这段代码复制过来,导入相关的班来,这个configuration呢,注意是我们generator的这个configuration。还有利斯特啊,我们以及要抛的这些异常,我们也抛出去。好,那么接下来呢,我们来运行一下来我们这个配置文件的指定一下,我们配置文件名叫MBG。
13:04
那么当前项目下,纽菲尔就能从我们当前项目下找到这个配置文件,按照这个配置文件呢,我们来生成代码。好,我们来测试走运行。好,这个运行完了,我们来刷新一下,看有没有代码生成,诶出来了,B里边,哎,咱们这个加B也有了啊,这个呢,我们知道这是做复杂查询的,这个example,以及咱们这个接口do接口啊,复杂的增删改查都在这啊,以及咱们这个map里边还有这些插面配置。好,都是在这,但是这个注释有点多啊,这个注释的话呢啊,我们是没必要看它这个注释的,把这些全部删掉,我们重新生成一遍,没有注释的,那没有注释怎么办呢?我们直接来到我们这样买贝蒂general官方文档里边。啊,Confi reference,看它能配置的东西有一个叫comment generation啊,我们这个专门生成注释的这个工具,那么呢,这一块的配置有一个示例,哎,你把这个配置拿来。
14:14
好,我们先放在前面,那我们怎么阻止生成注释呢?我们可以看一下它的一些属性,Surprise or comments,哎,如果设为true,当这个是触以后呢,就没有注释会添加到我们这个生成的这些代码里边,所以说呢,我们就设置上这个属性就行了。好,把它设置为处,我们让它重新生成一遍。好,生成完成,我来刷新一下。咱们这像F5。啊来这里边啊进来了这些没有注释,那就好看多了,包括我们这些map文件啊也都在这儿,至此呢,我们把这些东西就生成出来了,但是呢,直接生成出来的啊,肯定呢,不是非常符合我们业务逻辑的,我们稍微呢一会儿修改一下就行。
我来说两句