查看: 146|回复: 0

springmvc整合mybatis

[复制链接]
发表于 2020-2-16 00:58:47 | 显示全部楼层 |阅读模式
准备工作

IDEA 2019.3.1

MySQL 8.0.17

Tomcat 7.0.9
开始步骤

一、创建一个项目,添加Web支持

点击菜单:File->NEW->Project

选择左侧的Maven项目,这里的 Create from archetype先不要选择,然后点击Next


项目建好之后,目录结构如下:

在项目上右键单击,弹出菜单,选择 Add Framework Support

弹出如下界面,勾选左侧的Web Application(4.0),点击OK

点击OK之后,可以看到项目的目录结构有web文件夹

二、项目搭建

1.数据库

新建数据库,创建一个student表,并插入几条数据
  1. create table test.student(    id integer auto_increment primary key ,    name varchar(50),    age int,    detail varchar(200))insert into test.student(name,age,detail) values('Tony1',18,'Tony1 is handsome');insert into test.student(name,age,detail) values('Tony2',19,'Tony2 is more handsome');insert into test.student(name,age,detail) values('Tony2',20,'Tony3 is most handsome');
复制代码

2.项目目录

在项目结构的/src/main/java文件夹下创建一个包,并添加dao,service,entities,controller这四个文件夹,在/web/WEB-INF目录下添加jsp文件夹:

3.设置文件

本项目总共有7个设置文件:
web.xml:项目的设置文件
applicationContext.xml:spring总的设置文件,会引用controller/service/dao的设置文件
spring-controller.xml:controller层的设置文件
spring-service.xml:service层的设置文件
spring-dao.xml:dao层的设置文件,同时设置,mybatis的设置扫描
db.properties:数据库设置文件,被dao引用
StudentDao.xml:mybatis实体类映射文件
4.maven设置

引入springmvc ,mybatis所需的包,设置如下:
  1.                             junit            junit            4.12                                    mysql            mysql-connector-java            5.1.47                                    com.mchange            c3p0            0.9.5.2                                    javax.servlet            servlet-api            2.5                            javax.servlet.jsp            jsp-api            2.2                            javax.servlet            jstl            1.2                                    org.mybatis            mybatis            3.5.2                            org.mybatis            mybatis-spring            2.0.2                                    org.springframework            spring-webmvc            5.1.9.RELEASE                            org.springframework            spring-jdbc            5.1.9.RELEASE                            org.springframework            spring-context            5.1.9.RELEASE                            org.projectlombok            lombok            1.18.10            
复制代码
解决资源文件的依赖问题:
  1.                                     src/main/java                                    **/*.properties                    **/*.xml                                false                                        src/main/resources                                    **/*.properties                    **/*.xml                                false                        
复制代码
三、代码编写

1.在entities包中添加Student类:
  1. package com.Tony.entities;public class Student {    private int id;    public int getId() {        return id;    }    public void setId(int id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getDetail() {        return detail;    }    public void setDetail(String detail) {        this.detail = detail;    }    private String name;    private int age;    private String detail;}
复制代码
2.在dao包中添加StudentDao接口:
  1. package com.Tony.dao;import com.Tony.entities.Student;import java.util.List;public interface StudentDao {    Student findStudentById(int id);    List findAllStudent();    int deleteStudent(int id);    int updateStudent(Student student);    int addStudent(Student student);}
复制代码
3.在dao中添加StudentDao.xml 映射文件
  1.             select * from test.student where id=#{id}                select * from test.student                delete from test.student where id=#{id}                update test.student set name=#{name},age=#{age},detail=#{detail} where id=#{id}                insert into test.student(name,age,detail) values        (#{name},#{age},#{detail})   
复制代码
4.在service包中添加StudentService接口和其实现类StudentServiceImpl:

StudentService:
  1. package com.Tony.service;import com.Tony.entities.Student;import java.util.List;public interface StudentService {    Student findStudentById(int id);    List findAllStudent();    int deleteStudent(int id);    int updateStudent(Student student);    int addStudent(Student student);}
复制代码
StudentServiceImpl:
  1. package com.Tony.service;import com.Tony.dao.StudentDao;import com.Tony.entities.Student;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import java.util.List;@Servicepublic class StudentServiceImpl implements StudentService {    @Autowired    private StudentDao studentDao;    public Student findStudentById(int id) {        return this.studentDao.findStudentById(id);    }    public List findAllStudent() {        return this.studentDao.findAllStudent();    }    public int deleteStudent(int id) {        return this.studentDao.deleteStudent(id);    }    public int updateStudent(Student student) {        return this.studentDao.updateStudent(student);    }    public int addStudent(Student student) {        return this.studentDao.addStudent(student);    }}
复制代码
5.在controller包中添加StudentController,并添加showAllStudent接口:
  1. package com.Tony.controller;import com.Tony.entities.Student;import com.Tony.service.StudentService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;@[email protected]("/student")public class StudentController {    @Autowired    private StudentService studentService;    @RequestMapping("/showAllStudent")    public String showAllStudent(Model model)    {        List list=studentService.findAllStudent();        model.addAttribute("list",list);        return "allStudent";    }}
复制代码
6.在/web/WEB-INF/jsp/文件夹中添加allStudent.jsp页面:
  1.     显示所有的弟子    [table]                [tr]            [td]弟子ID[/td]            [td]弟子姓名[/td]            [td]弟子年龄[/td]            [td]弟子明细[/td]        [/tr]                                    [tr]                [td]${student.id}[/td]                [td]${student.name}[/td]                [td]${student.age}[/td]                [td]${student.detail}[/td]            [/tr]                    [/table]
复制代码
四、设置文件

1.db.properties
  1. jdbc.url=jdbc:mysql://localhost:3306/testjdbc.username=rootjdbc.password=123456jdbc.driver=com.mysql.jdbc.Driver
复制代码
2.spring-dao.xml
  1.                                                                                                 
复制代码
3.spring-service.xml
  1.         
复制代码
4.spring-controller.xml
  1.                                        
复制代码
5.applicationContext.xml
  1.             
复制代码
6.web.xml
  1.             springmvc        org.springframework.web.servlet.DispatcherServlet                    contextConfigLocation            classpath:applicationContext.xml                1                springmvc        /   
复制代码
最后,整个项目的目录结构如下:

五、设置Tomcat

点击上方的AddConfiguration按钮

弹出如下界面,点击+号,选择Tomcat Server->Local

弹出如下界面,点击fix:


设置后,这里就看得到刚设置的Tomcat服务器名了:

六、设置打包的Artifacts:

点击菜单File->Project Structure:

弹出如下界面,选择左侧的Artifacts:

在Output Layout的WEB-INF下新建一个lib文件夹(注意此处必须是lib,全部是小写,写错了会导致出各种错误):

选中lib文件夹,右键单击,弹出菜单,选择Add Copy of->Library Files:



七、运行项目:

点击如下的播放按钮运行项目,运行起来之后,IDEA会自动打开浏览器

打开浏览器之后,默认是如下的网址

我们必要加上显示所有弟子的网址,然后按回车键,就可以显示所有的弟子了:

八、各种问题排查

1.不支持发行版本5:


解决办法:
点击菜单:File->Setting,弹出如下界面,选择左边的Build,Execution,Deployment->Compiler->Java Compiler,
将项目的target bytecode version从1.5改为9

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?用户注册

x

天涯海角也要找到Ni:springmvc整合mybatis

中发现Ni: springmvc整合mybatis
中发现Ni: springmvc整合mybatis
中发现Ni: springmvc整合mybatis
中发现Ni: springmvc整合mybatis
中发现Ni: springmvc整合mybatis
中发现Ni: springmvc整合mybatis
相关技术服务需求,请联系管理员和客服QQ:2753533861或QQ:619920289
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

帖子推荐:
客服咨询

QQ:2753533861

服务时间 9:00-22:00

快速回复 返回顶部 返回列表