转载自:https://www.jianshu.com/p/e6a3c3e8a9dc
1、mybatis-config.xml文件的配置
一、新建maven项目,在pom.xml里导入依赖
老规矩处理pom.xml的报错。
解决后首先导入需要使用到的依赖。导入依赖时若自己的私服里面没有,则建议去阿里云的公服查找自己所需要的版本再将其依赖复制到pom.xml文件中。https://maven.aliyun.com/mvn/search
二、resources目录下新建mybatis-config.xml文件
若不知道mybatis怎么使用配置文件的话可以去mybatis官网查询,上面有开放的步骤教你使用。http://www.mybatis.org/mybatis-3/zh/getting-started.html
配置文件里面的configuration属性,底层会读入这个xml文件并将该标签封装为对象进行使用:
1)配置环境enviroment
从前面介绍的官网直接拿过来使用,前提是在resource目录下新建一个db.propreties文件存放数据库相关信息。不建该文件也行,不建时只需把value那儿的值直接换成db.propreties里面对应名字的值即可。(数据库用户名,密码记得写成自己的,之所以url写///数据库名 是因为自己的端口号为8080,若默认端口不是这个的则写//,之后需要加上自己的端口号)
db.propreties
2)配置映射mapper
注意自己的路径,自己的xxxMapper.xml文件写在哪儿路径就对应填哪儿。
3)配置xxxMapper.xml文件,通过其中的namespace+id定位对数据库执行的具体操作
doorMapper.xml
三、java目录下新建测试类,测试mybatis是否配置成功(通过获得xxxMapper.class实现的)
测试mybatis配置文件有两种方式,一通过session.select或者update等方法,二通过session获得xxxMapper.class再去调用dao接口里面的方法(底层已自己实现),在此笔者使用的是第二种方式。
1)读取mybatis的核心配置文件mybatis-config.xml
2)通过sqlSessionFactoryBulider建立session工厂factory
3)使用工厂factory创建session对象
4)通过xxxMapper.xml文件下的namespace+id定位到具体的数据库操作
5)处理结果
6)关闭session连接(将连接返回给连接池)
项目结构如下所示:
测试结果
成功联通数据库,并读出数据,测试成功。
2、SpringMVC-config.xml的配置
一、SpringMVC运行流程
Controller层即SpringMVC要做的事就是接收用户的请求,调用相应的映射处理器处理并将返回结果响应给用户,其核心是dispatcherServlet,这个前端控制器专门负责控制和调用,其运行流程如下所示。
SpringMVC运行流程
通过这几张运行原理图,我想对SpringMVC应该有更清晰的理解了吧,下面根据图很容易就能理解SpringMVC的配置。
二、SpringMVC-config.xml的配置
1)放行静态资源
2)配置注解驱动
3)配置要扫描的包,让spring将其自动注册为bean对象
4)配置视图解析器返回的视图
5)配置入口web.xml文件
三,在web.xml中配置SpringMVC
1)配置Controller核心dispatcherServlet,将所有请求交给SpringMVC来处理
2)给予springmvc-config.xml文件的位置
3)配置SpringMVC乱码处理过滤器
四、测试是否配置成功
在webapp下面建立测试页面,将项目部署到tomcat服务器上,启动程序运行在服务器上,输入自己设置的url访问路径,测试结果。
五、小结
1)在此次配置过程中spring文件夹下面建立了两个文件,一个是springmvc-config.xml,另一个是applicationContext.xml文件,在运行时由于applicationContext.xml是空的所以导致首行报错,在加入首行xml声明后还是错的,后面笔者就想是否与首行下面的声明有关系,加入后确实正确了。笔者在想可能是两种原因,一种是xml文件格式就必须是这样写的,另一种是由于springmvc是属于spring的一部分导致,具体是那种还有待研究,笔者下去会继续琢磨的,当然如果屏幕前有哪位亲爱的读者能解答我的疑惑,那笔者也感激不尽。
2)此次配置过程中在WEB-INF下面加入的一些jsp页面全部报错,在problems下面看见是http的相关问题,只要一提到http毫无疑问赶紧检查自己是否选择了目标运行环境,因为只有tomcat服务器才与http相关,也才有服务器才会提供servlet相关信息。
3、Spring与Mybatis的整合
一、applicationContext.xml的配置
1、剪切掉mybatis-config.xml文件里的配置信息
2、改在appilcationContext.xml里面配置
3、配置context,告诉db.properties的位置
4、配置druid连接池,即数据源DataSource,每个标签最后都会被封装成为一个bean对象,故使用bean标签配置。
5、配置sqlsessionfactory,将sqlsession对象的创建交给spring容器。
5.1 指定mybatis核心配置文件的位置
5.2 配置连接池(数据源) ref指向连接池bean对象的id值
5.3 扫描所有的 XxxMapper.xml映射文件,读取其中配置的SQL语句
6、定义mapper接口扫描器, 扫描所有XxxMapper接口,将接口实例的创建交给spring容器
7、配置需要扫描的包(service层):spring自动去扫描 base-package下的类, 如果扫描到的类上有 @Controller、@Service、@Component等注解, 将会自动将类注册为bean(即由spring创建实例)
二、注意事项
1、DataSource里面的name为driverClassName,与之前mybatis里面不一致!若此处写错则在启动服务器时会报DataSource找不到的错误。
2、给的每一个文件路径的前面一定要加上classpath:文件路径
三、测试
Controller层下新建测试类
requestMapping给出输入的测试路径
return表示跳转的页面(此处若想要跳转的不是页面,则在方法上加入ResponseBody即可)
AutoWired表示自动装配:由spring自动为属性赋值(对象)
网友评论