
第一次搭建springmvc+mybatis框架还是踩了不少坑。通过不断的搜索和比对别人的搭建过程,还是让我搭建出来了。于是,打算总结一下我的搭建过程,并附上所需的jar包。希望能帮到下一个要搭建SpringMVC框架的人。
搭建框架的大致步骤是:
- 导入相关jar包;
- 添加并配置springmvc、mybatis文件;
- 在web.xml中配置springmvc和mybatis文件;
- 在代码中的使用。
一、依赖的jar包
我用到的jar包可以点击这里下载,主要是spring的框架包,这个可以到官网下载最新版。还有mybatis的jar包,mybatis-spring(这个尽量用最新版的,可以到这里下载,之前搭建的时候因为用的是旧版的,有出现了强转失败的情况,新版则没有。)以及其他相关的jar包。具体如下图

二、添加springmvc-servlet.xml配置文件
这个文件我是放到WEB-INF目录下(这个路径在后面web.xml配置中需要用到)。主要配置了需要注解驱动、扫描包文件、已经jsp路径,代码如下
三、配置mybatis
(1)、spring-mybatis配置文件
1、前提是mysql数据库已经装好,且测试正常。那么,接下来就是配置mybatis文件了。
(2)、mysql配置参数
在上面的配置文件中,可以看到参数是通过
来引入的,引入的文件为datasource.properties,添加properties文件主要是为了方便数据库配置
四、配置web.xml
基本的配置文件都写完后,需要在web.xml配置把它们配置进去,才能在项目启动时加载它们。web.xml配置如下
五、使用流程
到这边的话,就基本是配置完了。接下来,就来看看如何使用了。首先,我们假设一个业务流程,根据用户的id来获取用户名,并显示到页面上。
1、添加表及数据
我在mysql中创建了一个test数据库,并添加了一个user的表
- 建表语句1234567create table user(id INT NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT '编号',name varchar(32) NOT NULL COMMENT '姓名',password varchar(128) NOT NULL COMMENT '密码');
- 添加的数据1insert into user values(2,"test","123456")
2、添加constroller
首先是在com.jarvis包下添加一个constroller包,专门用来方式constroller。然后创建一个LoginConstroller.java,代码如下
上面这个方法是通过url传入id,然后通过id查询数据库,并取出用户,信息输入用户名,然后跳转到/login下的hello.jsp。从这个类中可以看到,除了查询数据库的service外,还有一个pojo类User。接下来,就先创建pojo类。
3、添加pojo
|
|
4、添加userService
这边需要注意的是,在controller中使用到的userService,是通过注解来完成,而注解的名称就是userService。所以在添加userService时,需要注意一下,不要写错了。
先添加一个接口IUserService
12345package com.jarvis.serv;import com.jarvis.pojo.User;public interface IUserService {public User getUserById(int userId);}添加实现类UserServiceImpl
123456789101112131415161718192021package com.jarvis.serv.impl;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.stereotype.Service;import com.jarvis.dao.IUserDao;import com.jarvis.pojo.User;import com.jarvis.serv.IUserService;@Service("userService")public class UserServiceImpl implements IUserService {@Autowired@Qualifier("IUserDao")private IUserDao IUserDao;@Overridepublic User getUserById(int userId) {return this.IUserDao.selectByPrimaryKey(userId);}}
这里用到的IUserDao是直接在UserServiceImpl这个类中注解的。
5、添加dao
|
|
6、添加dao对应的mapper文件
|
|
7、添加对应的页面
因为在springmvc-servlet中,我们把页面的路径放到了WEB-INF目录下的view目录,而在LoginController中返回的路径是login下的hello.jsp,所以,我们首先要在WEB-INF下创建一个view目录,在view下,创建一个login目录,在login目录下创建一个名为hello的jsp文件。
hello.jsp的代码如下
8、测试
到这边,就可以开始测试了。不过首先,我们要搞清楚访问的url。首先肯定是http://ip:端口/项目名,然后是看LoginController中,类的@RequestMapping是"/user",方法的@RequestMapping是"/login/{id}"。其中的{id}是我们要传的值。所以,访问的url是
运行效果如下:
