MyBatis基本配置
我们首先来回忆一下MVC 分层,每一层都依赖于哪些实现:
V:View视图层:我们可以通过(HTML + CSS + JS) + JSP JSON + AJAX来展示;
C:Controlle控制层:Servlet;
M:Model模型层:
service:业务层
dao:持久层:JDBC+SQL
回忆一下原生的JDBC的操作:
导包(mysql连接的包)
加载驱动drive
创建连接connnection
获取状态参数preparedstatment
执行sql
关闭流
DB:数据库:MySQL,Oracle等等。
以上就是我们常说的MVC分层架构的思想。
我们首先来了解一下框架出现的原因,希望大家在 学习 的过程中不要只局限于它的使用,了解它出现的原因,以及它的原理,我相信你会使用的更加的得心应手。
这里我们就后端框架而言,这里是的说法可能存在误差,仅仅作为大家的参考。
我们先来看service层,我们最初的经常打交道的Servlet,相信大家在学习的时候,都觉得它的配置文件的厚重。一个请求基本上需要对应一个Servlet类,一个类就要配置一个配置文件,Tomcat服务容器的基本内容如下:
随意的名字(建议可读性比较好)
请求给予响应的那个servlet类
和上面的servlet-name名字一致
拦截的请求
我们看,如果请求的功能点不同,需要增加一个Servlet类,同时需要增加配置文件,这样的话,我们一个简单的业务就要配置很多很多行配置文件,如果需求增大了,我们的配置文件就像大海一样了,或许你会说使用WEB注解来配置,那么Servlet类的数量减少了吗?我们想一个类中只写一个方法是不是太浪费了,按照我们以前,一个类怎么都要写至少不少于1个方法,基于Servlet这些缺点,我们出现了很多的Web框架。
现在我们来看我们的dao层,每个dao方法的流程都是我们所说的JDBC六部曲,很显然出现了很多的冗余,所以我们是可以将dao层的方法简化的,我们的MyBatis就可以解决这样的问题,使得Dao的方法变的很简单。
现在我们从最基本的配置开始,我们先学习最原始的使用,之后一点一点的简化,繁琐的都会了,写简单的还不是轻而易举么?
先说一下这篇的配置内容可能比较长。需要你实际的操作可以记忆的更加牢固。
我的初衷是尽可能地将内容简化但是不失细节,这样在你学习的时候,即使不看书,也可以清楚的掌握内容,但是还是希望这个文章只是作为你复习的参考,为了底蕴还是应该深化一些的。
那么接下来我们就进入了今天的主题:
使用MyBatis的流程:
1.导包,流程如下,这里是利用IDEA来演示
JavaWeb工程下的导包,除了jar包的位置需要注意之外,其他的操作流程和图示一样。(后续再做说明)
2.配置文件
我们在书写原生JDBC的时候,需要drive,url,username,password,sql等内容,那么我们现在使用这个框架,也是需要的,那么如何告知这个框架这些内容呢?就是配置文件啦。
在工程的根目录下,配置一个.xml的配置文件,文件名字随意起,但是我习惯按照叫做mybatis-config.xml,单纯的认为可读性好。(xml后面我们会用一篇去说,这里不做说明了。)配置文件的一些基本内容如下:为了不让篇幅太长,剩下的内容,我们通过一个小例子来说明。希望大家仔细阅读注释,同时希望大家是再学习过后,利用这个文章进行复习。
<?xml version="1.0" encoding="UTF-8" ?><configuration> <environments default="development"> <environment id="development"> <transactionManager type="JDBC">transactionManager> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver">property> <property name="url" value="jdbc:mysql://localhost:3306/数据库名?serverTimezone=CST">property> <property name="username" value="数据库用户名">property> <property name="password" value="数据库密码">property> dataSource> environment> environments> <mappers> <mapper resource="sql所在的路径/文件.xml">mapper> <mapper resource="">mapper> mappers>configuration>
误,和补充细节。>