java的三层架构

时间:2025-03-01 07:11:29

1、java的三层架构:

交互层 controller(用户界面、网页)jsp文件

业务处理层 service(与交互层进行数据传输,调用数据处理层,完成各种业务功能) serverlet类文件.java

数据操作层 Mapper(对数据库操作) .java文件

package ;



import ;
import ;
import ;
import ;
import ;
import ;

/**
 * Controller层的作用:
 * 1、接收请求
 * 2、调用业务逻辑层(servic层)
 *
 * 调用案例:http://127.0.0.1:8091/User/Add?name=张三&password=1234
 */
@RestController//声明这是一个Controller层
@RequestMapping("/User")//声明Controller层的地址
public class UserController {

    @Autowired//自动装配注解,是用来将这个注解下面的对象进行实例化的
    private UserService userService;//调用业务逻辑层需要声明相应的业务逻辑层对象

    //GetMapping是一种请求方式
    @GetMapping(value = "/Add")//声明方法的地址
    public String Add( String name, String password){//()里面的是方法的参数,在进行请求调用时,需要写参数
        (name,password);//这个是实例化的业务逻辑层对象来调用其中的方法
        ("开始添加数据");
        return "number";
    }

    @GetMapping(value = "/Sdd")
    public String Sdd(String name, int age){
        (name,age);//这个是实例化的业务逻辑层对象来调用其中的方法
        ("开始添加数据");
        return "qwer";
    }
}

service层

UserService方法类
package ;

/**
 * 这是个业务逻辑层接口
 */
public interface UserService {
    public void UserAdd(String name,String password);
    void abc(String a);
    void aaa(String b);
    void ccc(String q);
    void UserSdd(String name,int age);
}
UserServiceImpl实现类
package ;


import ;
import ;
import ;
import ;

/**
 * 这是个实现业务逻辑层接口的实现类
 */
@Service//这个注解来表明这是个业务逻辑层,到时候自动装配就可以找到这个层
public class UserServiceImpl implements UserService {

    //自动装配有两种形式但没有区别,一种是Controller层写的直接在类变量上添加注解,第二种就是在方法上添加注解
    private UserMapper userMapper;//此处是声明一个Mapper对象作为类属性
    @Autowired
    public void setUserMapper(UserMapper userMapper) { = userMapper;}

    @Override//重写UserService中的方法
    public void UserAdd(String name,String password) {
        ("业务逻辑层的UserAdd方法执行了");
//        (name,password);
    }

    @Override
    public void abc(String a) {
        ("业务逻辑层的UserAdd方法执行了");
    }

    @Override
    public void aaa(String b) {

    }

    @Override
    public void ccc(String q) {

    }

    @Override
    public void UserSdd(String name, int age) {
        ("业务逻辑层的UserSdd方法执行了");

    }
}

Mapper层

package ;

import ;
import ;
import ;

@Mapper
public interface UserMapper {


//    List<User> SelectUser(int id);
//
//    boolean UpdateUser(String name);
//
//    boolean DeleteUser(String name);
    @Insert("INSERT INTO user(name,password) VALUES(#{n1},#{p1})") void AddUser(@Param("n1") String name, @Param("p1") String password);
    @Insert("INSERT INTO user(name,age) VALUES(#{n1},#{p1})") void SddUser(@Param("n1") String name, @Param("p1") String Int);

}