IDEA 或者 eclipse
首先创建maven项目(本帖以IDEA为开发环境)。点击file-->new-->project;在弹出的界面中,左侧选中maven,右上方选择需要的JDK,选择完毕点击next。
定义属性,引入spring、mybatis、mysql、freemarker需要的jar。
在src/main/下,新建目录 webapp。然后先建立好我们需要的package、directory、xml、properties等。如图所示,根据需要进行。
配置application.properties文件(jdbc信息、服务器IP、应用名称)jdbc.driver=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/springMVC?characterEncoding=utf8jdbc.userName=rootjdbc.password=123456serverPath=/springappServer=http://127.0.0.1:8080appCode=springstaticPath=/spring/static
配置applicationContext.xml(该文件的主要功能:扫描、启用注解、启用定时任务、启用代理、定义静态资源路径、加载properties文件、定义freemarker模板路径、freemarker视图解析器)。
配置spring-mybatis.xml文件(主要是配置数据源、扫描mybatis的接口、接口对应的xml、定义事务管理器、启用事务注解)
配置spring-servlet.xml,该xml是额外对拦截的自定义,比如对PC端和移动端的请求做不同处理,可以配置。如果不额外配置,文件可以为空。(我这里是空的)
配置web.xml。(初始化参数、配置监听、配置过滤器、配置拦截器)。
现在可以部署到tomcat,path就用/spring,启动tomcat,看下是否报错。现在配置就完成了。
测试freemarker是否整合成功。1、在mvcViews目录下,新建一个html,然后重命名为index.ftl。2、在controller包下,新建一个HomeController类。3、重启tomcat,访问http://127.0.0.1:8080/spring/pc/index?name=张三文件内容如下图:
测试mybatis是否整合成功。新建表DROP TABLE IF EXISTS `t_book`;CREATE TABLE `t_book` ( `id` varchar(40) NOT NULL, `name` varchar(100) DEFAULT NULL COMMENT '书名', `profile` varchar(2000) DEFAULT NULL COMMENT '简介', `author` varchar(20) DEFAULT NULL COMMENT '作者', `publish_time` datetime DEFAULT NULL COMMENT '出版时间', `last_update` datetime DEFAULT NULL COMMENT '最后更新', PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `t_book` VALUES ('0173e35c7f954b0e873ed33ae38c95a1', '这是一本书11', '这是一本书的简介', '就是我', '2018-08-16 00:00:00', '2018-08-15 13:44:08');INSERT INTO `t_book` VALUES ('1', '钢铁是这样练成的', '九年义务教育小学2年纪', '人民出版社', '2010-01-01 18:09:40', '2018-03-01 18:09:52');INSERT INTO `t_book` VALUES ('1dc08fe513fe43958bd65c9a5a788b29', '从入门到精通', 'java', '高奈夫斯基', null, '2018-08-14 18:17:22');INSERT INTO `t_book` VALUES ('25738821693865984', '巴黎圣母院', null, '雨果', '2018-08-14 12:00:07', '2018-08-14 12:00:07');INSERT INTO `t_book` VALUES ('25738821693865986', '人性的弱点', null, '威尔士', '2018-08-14 12:08:47', '2018-08-14 12:08:47');INSERT INTO `t_book` VALUES ('25738821693865990', '雷雨', null, '曹禺', '2018-08-14 14:49:24', '2018-08-14 14:49:24');INSERT INTO `t_book` VALUES ('25738821693865992', '孙子兵法', '著名的战争著作', '孙膑', '2017-01-04 00:00:00', '2018-08-16 15:38:40');在entity包下新建Book类,并添加get和set方法。public class Book implements Serializable { private static final long serialVersionUID = 1L; private String id; private String name; private String profile; private String author; private Date publishTime; private Date lastUpdate; private String publishTimeStr;//查询使用 private String lastUpdateStr;//查询使用}
建立dao的映射。在dao包下,新建BookMapper接口。public interface BookMapper { List
新建BookController类,内容如下:@Controller@RequestMapping(value = '/pc/book')public class BookController { @Resource private BookMapper bookMapper; @RequestMapping(value = '/list') public String list(Model model, String name){ List
<#if list?? && (list?size>0)> <#list list as item> 作品名称 简介 作者 出版日期 更新日期 #list> #if> ${(item.name)!} ${(item.profile)!} ${(item.author)!} ${(item.publishTime?string('yyyy-MM-dd'))!} ${(item.lastUpdate?string('yyyy-MM-dd HH:mm:ss'))!}
重新启动tomcat,访问http://127.0.0.1:8080/spring/pc/book/list能看到数据,说明mybatis也成功了。
dao的接口方法名称要与mapper.xml中的id对应
注意JDK版本和spring版本的对应