前言
最近一直想把学习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();
}
}
心得
刚刚开始学的,还不是很熟悉 但是我觉得只要默默的努力,终有一天别人会的我也必将会。既然输在了起跑线上,那我们后面当然要付出的更多鸭~
写的可能不是很好,有问题的留言,我会第一时间回复你~
今天也要加油啊!