前言
最近一直想把学习maven SSM Spring + SpringMvc+ Mybatis 框架以及前端框架 Vue + ElementUI的学习收获分享出来,但是迫于一堆DDL只能现在捋一捋。从这篇文章我将陆续更新基于maven + 后端框架SSM+ 前端框架VUE+ ElementUI的文章,完全是从小白的角度介绍学习的心路历程(我太难了一路的坑)。
说明
关于IDEA以及Eclipse 等环境配置maven以及Tomcat我会陆陆续续的更新
关于本文
此文章主要设计SSM的代码结构以及四个层之间的说明
代码结构(基于IDEA)
各个层的说明
按照数据库到后端到前端的顺序,现将对应的UserMapper.xml文件放出来
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">
<!-- 设置为IUserDao接口方法提供sql语句配置 -->
<mapper namespace="com.ssm.dao.IUserDao">
<resultMap id="userList" type="com.ssm.pojo.User">
<id column="ID" property="ID" ></id>
<id column="Account" property="Account" ></id>
<id column="Pwd" property="Pwd" ></id>
</resultMap>
<select id="getAllUser" resultMap="userList">
SELECT * FROM login where id=1;
</select>
</mapper>
dao层
dao层,又称为mapper层 、持久层。主要是与对应的Mapper.xml文件里面的SQL语句形成映射。用于对数据库的数据操作
示例代码
// 注意包名
package com.ssm.dao;
import com.ssm.pojo.User;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface IUserDao {
public List<User> getAllUser();
}
这里的函数名都要与对应的mapper.xml文件的id对应
pojo层
如果你记不住,请看下图
pojo实体层,又名entity层 主要是和数据库的表的名称对应计科,这层比较简单
代码
package com.ssm.pojo;
public class User{
private int ID;
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public String getAccount() {
return Account;
}
public void setAccount(String account) {
Account = account;
}
public String getPwd() {
return Pwd;
}
public void setPwd(String pwd) {
Pwd = pwd;
}
private String Account;
private String Pwd;
}
service 层
这一层称为服务层 主要是写一下接口 便于Controller层调用。其中包含Serviceiml,有的地方将其分开放,这里我选择放在一起。
package com.ssm.service;
import com.ssm.pojo.User;
import java.util.List;
public interface IUserService {
public List<User> getUser();
}
实现Service
package com.ssm.service;
import com.ssm.dao.IUserDao;
import com.ssm.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements IUserService{
@Autowired
private IUserDao userDao;
public List<User> getUser() {
return userDao.getAllUser();
}
}
Controller层
Controller称为控制层,主要是负责前后端的数据交互,Controller用的是Service类
示例代码
package com.ssm.controller;
import com.ssm.pojo.User;
import com.ssm.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.List;
@Controller
public class UserController {
@Autowired
private IUserService userService;
@RequestMapping("/login")
@ResponseBody
@CrossOrigin
public List<User> userInfor(){
System.out.println( userService.getUser().size());
return userService.getUser();
}
}
心得
刚刚开始学的,还不是很熟悉 但是我觉得只要默默的努力,终有一天别人会的我也必将会。既然输在了起跑线上,那我们后面当然要付出的更多鸭~
写的可能不是很好,有问题的留言,我会第一时间回复你~
今天也要加油啊!