一.前期工作准备
在这里使用的还是上一篇中用到的用户数据表,和之前工具安装中安装好的maven(链接地址(https://blog.csdn.net/Jingjingjng0504/article/details/95358029))
二.创建maven工程
打开我们的idea,点击新建创建工程,在工程列表中选中maven,右侧选择自己安装的jdk版本,并将create from archetype选中,下拉找到maven-archetype-webapp并选中,点击下一步
在groupID中填入自己的文件结构,第二行输入创建的工程名称
maven加载地址选中自己安装的maven文件路径,然后点击右侧加号,在弹出的文本框内输入下示内容,用于提高文件加载速度,完成后,点击OK,然后下一步,finish,会需要等一段时间,因为文件加载需要挺久的,大概几分钟吧。这样项目就创建完成了。
三.MVC 文件目录创建
在main文件夹下创建两个文件夹分别用来存放Java源代码和资源文件,创建完成后,在创建的文件夹上右键单击,在弹出的菜单列表中找到make directory as选项,分别将两个文件夹设置为专门存放源代码和资源文件的格式
在Java文件夹下创建com.zhongruan(可以起任何适合自己的路径),然后在zhongruan文件夹下bean,dao,service,controller包,分别用于放置实体类、接口类、实现类和控制类源文件
四.编写bean层和dao层代码
在bean包内创建名为User的实体类,用于映射数据库中的字段
package com.zhongruan.bean;
//User - 实体类, 映射数据库字段
public class User {
//1.对属性的封装
private int id;
private String username;
private String password;
//2. get and set
//传值方式: User user = new User();
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
//3.构造方法
//传值方式: User user = new User(1,"张三","123456")
public User() {
}
public User(int id, String username, String password) {
this.id = id;
this.username = username;
this.password = password;
}
//toString 方法重写
@Override
public String toString() {
return "User{" +
"id=" + id +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
}
在dao包下创建名为UserDao的接口类
package com.zhongruan.dao;
import com.zhongruan.bean.User;
import java.util.List;
// UserDao --数据库交互层
public interface UserDao {
//全部查询;List<User> userList = new ArraryList<>()多态
List<User> findAllUser();
}
五.配置Spring和Mybatis的整合
将下面三个文件放到resources文件夹下,其中要将db.properties中数据库连接的密码修改为自己的数据库密码
消除文件中的报错提示:编写mapper
在resources下创建mapper文件夹,在mapper文件夹下创建UserMapper.xml文件,输入如下代码
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.zhongruan.dao.UserDao" >
<!--查询全部-->
<select id="findAllUser" resultType="com.zhongruan.bean.User">
select * from tb_user
</select>
</mapper>
六.编写service层,配置SpringMVC和web.xml
service层包括接口和接口实现类
创建如下文件结构
在User Service中,连接Dao层的接口,在UserServiceImpl中实现该接口,代码如下
package com.zhongruan.service;
import com.zhongruan.bean.User;
import java.util.List;
//业务逻辑层
public interface UserService {
List<User> findAllUser();
}
package com.zhongruan.service.impl;
import com.zhongruan.bean.User;
import com.zhongruan.dao.UserDao;
import com.zhongruan.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public List<User> findAllUser(){
return userDao.findAllUser();
}
}
将spring-mvc.xml文件导入到resources文件夹中,并修改web.xml中代码如下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
<!-- 配置加载类路径的配置文件 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:applicationContext.xml</param-value>
</context-param>
<!-- 配置监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<!-- 解决中文乱码过滤器 -->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 前端控制器(加载classpath:spring-mvc.xml 服务器启动创建servlet) -->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置初始化参数,创建完DispatcherServlet对象,加载springmvc.xml配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<!-- 服务器启动的时候,让DispatcherServlet对象创建 -->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
七.编写Controller层
在controller包下创建UserController类,编写控制层代码
package com.zhongruan.controller;
import com.zhongruan.bean.User;
import com.zhongruan.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import java.util.List;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping("/findAllUSer.do")
public ModelAndView findAllUser(){
//1.调用service方法调用方法查询并得到结果
List<User> userList = userService.findAllUser();
//2.实例化ModelAndView
ModelAndView mv = new ModelAndView();
mv.addObject("userList",userList);
mv.setViewName("allUser");
return mv;
}
}
最后,配置tomcat,编写相应的页面运行即可。