系列文章目录
`
前言
本篇文章会为大家介绍MyBatis的基本认识和执行流程,
提示:以下是本篇文章正文内容,下面案例可供参考
一、基本流程
基本流程图如下:
其中是客户端发出请求,然后Controller负责接受,并且提供响应其中Controller中注入了Service,Service中注入了Mapper,
对Mapper来说,是为了达成数据库操作,Mapper中提供了Interface来定义需要操作数据库的方法和返回值.而xml则是去实现真正达成数据库操作,即实现数据库的代码,实现interface定义好的功能.
对于entity,在实际的使用中,不仅仅是是Controller在用,整个流程中的所有部分都会用到.因为其是数据库代码的直接映射.
流程代码
首先,为所有需要用到的类创建包
其次,你需要有数据库,并且创建好entity类提供属性和数据库中的字段达成一一映射.
类中的属性和数据库要一一对应上,就连名字也是一样,而且要为其提供@Data注解,让其可以使用set和toString方法.
因为我们的执行流程是用户提出请求---->controller注入service---->service注入mapper,因此我们得先创建好mapper和数据库关联起来.
用Mapper注解来就行interface定义,比如要实现一个返回所有数据库userinfo中的字段
可以看到,@Mapper下创建的getAll方法,提供返回值,仅仅是一个定义,还需要用xml去实现.
xml需要存在resources中,要命名一个mybatis包
可以看到实现的代码就是数据库操作,并且提供了方法名和返回值.
因为最后我们是需要提供controller来做响应的,因此我们需要创建好service和controller来接受和返回这个值.最后返回给用户.
首先创建好service注入mapper,返回mapper中getAll()结果
再去创建好controller注入service,并且做出响应,返回service的getAll()结果.
最后运行启动类,就可以看到用户接受到响应了.
总结
`这整个过程看似复杂其实每个步骤都是相对于来说比较的清晰.每个步骤都有其的道理,就比如使用interface+xml的方式来实现和数据库的连接,看似冗余,但是你使用中就可以发现,很多便捷之处,就比如这里xml可以实现接口,这是因为框架帮你做了很多.包括后面你注入接口,也同样平时不被允许的,框架也帮你实现了.