首页 > 编程语言 >解析Java框架中entity层,mapper层,service层,controller各层作用

解析Java框架中entity层,mapper层,service层,controller各层作用

时间:2022-12-20 11:37:14浏览次数:62  
标签:mapper return String service mobile public user Java id

转载自:https://blog.csdn.net/u011095110/article/details/86088976

一、entity层

别名: model层 ,domain层
用途: 实体层,用于存放我们的实体类,与数据库中的属性值基本保持一致,实现set和get的方法。
例子:user表的实体User

public class User {
    /**
     * 用户id
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
/**
 * 用户昵称
 */
private String nick;

/**
 * 手机号
 */
private String mobile;

/**
 * 头像地址
 */
@Column(name = "head_image_url")
private String headImageUrl;


/**
 * 获取用户id
 *
 * @return id - 用户id
 */
public Long getId() {
    return id;
}

/**
 * 设置用户id
 *
 * @param id 用户id
 */
public void setId(Long id) {
    this.id = id;
}

/**
 * 获取用户昵称
 *
 * @return nick - 用户昵称
 */
public String getNick() {
    return nick;
}

/**
 * 设置用户昵称
 *
 * @param nick 用户昵称
 */
public void setNick(String nick) {
    this.nick = nick;
}

/**
 * 获取手机号
 *
 * @return mobile - 手机号
 */
public String getMobile() {
    return mobile;
}

/**
 * 设置手机号
 *
 * @param mobile 手机号
 */
public void setMobile(String mobile) {
    this.mobile = mobile;
}

/**
 * 获取头像地址
 *
 * @return head_image_url - 头像地址
 */
public String getHeadImageUrl() {
    return headImageUrl;
}

/**
 * 设置头像地址
 *
 * @param headImageUrl 头像地址
 */
public void setHeadImageUrl(String headImageUrl) {
    this.headImageUrl = headImageUrl;
}

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99

二、mapper层

别名: dao层
用途: 对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的,主要实现一些增删改查操作,在mybatis中方法主要与与xxx.xml内相互一一映射。
示例:userMapper

public interface userMapper {
    int deleteByPrimaryKey(Long id);
int insert(user record);

int insertSelective(user record);

user selectByPrimaryKey(Long id);

int updateByPrimaryKeySelective(user record);

int updateByPrimaryKey(user record);

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

三、service层

用途:业务service层,给controller层的类提供接口进行调用。一般就是自己写的方法封装起来,就是声明一下,具体实现在serviceImpl中。
示例:UserService

public interface UserService extends Service<User> {

}

  • 1
  • 2
  • 3
  • 4

四、controller层

别名:web 层
用途: 控制层,负责具体模块的业务流程控制,需要调用service逻辑设计层的接口来控制业务流程。因为service中的方法是我们使用到的,controller通过接收前端H5或者App传过来的参数进行业务操作,再将处理结果返回到前端。
示例:UserController

@RestController
@RequestMapping("/user")
public class UserController {
    @Resource
    private UserService userService;
@PostMapping("/add")
public Result add(User user) {
    userService.save(user);
    return ResultGenerator.genSuccessResult();
}

@PostMapping("/delete")
public Result delete(@RequestParam Integer id) {
    userService.deleteById(id);
    return ResultGenerator.genSuccessResult();
}

@PostMapping("/update")
public Result update(User user) {
    userService.update(user);
    return ResultGenerator.genSuccessResult();
}

@PostMapping("/detail")
public Result detail(@RequestParam Integer id) {
    User user = userService.findById(id);
    return ResultGenerator.genSuccessResult(user);
}

@PostMapping("/list")
public Result list(@RequestParam(defaultValue = "0") Integer page, @RequestParam(defaultValue = "0") Integer size) {
    PageHelper.startPage(page, size);
    List&lt;User&gt; list = userService.findAll();
    PageInfo pageInfo = new PageInfo(list);
    return ResultGenerator.genSuccessResult(pageInfo);
}

}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览89386 人正在系统学习中

标签:mapper,return,String,service,mobile,public,user,Java,id
From: https://www.cnblogs.com/bushilushan/p/16993818.html

相关文章

  • 4.Java程序初识
    4.Java程序初识4.1HelloWorld程序以Hello.java为例,java应用程序的执行入口是main()方法,其有固定格式:/***类文件,一个源文件最多只能有一个public类,且与文件名称一......
  • Xml转Java实体类对象 xml转Javabena 对象 且多级嵌套 复杂嵌套
    最近在做企微开发,遇到了一个比较复杂的xml然后要去我将xml转成实体类xml如下<xml> <ToUserName><![CDATA[toUser]]></ToUserName> <FromUserName><![CDATA[sys]]></Fro......
  • java的final关键字
    本文主要讲述java的final关键字和相关细节。老韩知识介绍:示例代码如下:1publicclassFinalTest{2publicstaticvoidmain(String[]args){3......
  • Java Selenium封装--RemoteWebElement
    packagecom.selenium.driver;importjava.sql.SQLException;importjava.util.List;importorg.json.JSONException;importorg.openqa.selenium.By;importorg.openqa.sel......
  • java jackson库各对象之间转换
    java对象到json字符串Modelmodel=newModel();model.setAge(25);List<Model>models=newArrayList<Model>();models.add(models);ObjectMappermapper=newObject......
  • javasript利用jquery发送请求的各种方法
    Jquery发送ajax请求的方法有很多,其中最基本的是$.ajax方法,在其之上封装的方法有$.get,$post,$.put,$.ajaxForm,$fileUpload等。而在这些上层的方法中,后两个为jquery的......
  • 【转载】用shell命令一步步获取Java版本号
    https://blog.csdn.net/f20052604/article/details/100269768 1、打印java-version命令echo$(java-version)输出javaversion"1.8.0_171"Java(TM)SERuntimeEnvi......
  • java常用的数据类型有哪些
    前言在上一篇文章中,壹哥给大家讲解了Java中变量的定义、使用及基本原理等内容,这个内容并不是很难,但却是我们走向Java大神的第一步!壹哥希望你从第一天就要认真对待哦。在......
  • Mac m1修改默认java版本,降版本方法
    最近通过各种途径安装了许多jdk版本,1.7、1.8、11、13、17等 结果系统默认的java-version最终变成了17,通过各种环境变量设置都无法修改成别的版本 再网上找了许多......
  • java JVM和class字节码版本对照表
    链接前往JDKVersionBytecodeVersionJava1.045.0Java1.145.3Java1.246.0Java1.347.0Java1.448.0Java549.0Java650.0Java7......