在Java中,创建mapper、dao(数据访问对象)、service、serviceImpl(service实现类)、controller等组件是构建企业级应用常见的分层架构模式。这种分层架构有助于实现高内聚低耦合的设计,提高代码的可维护性和可扩展性。
mapperr XML文件创建
Mapper XML文件用于定义Java对象和数据库表之间的映射关系,以及SQL语句。
创建XML文件:在项目中创建一个新的XML文件,比如UserMapper.xml
。
编写映射关系:在XML文件中定义resultMap,用于映射Java对象的属性和数据库表的列。
编写SQL语句:在XML文件中为Mapper接口中的每个方法编写对应的SQL语句。
<?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.oacloud.dao.UsersDao">
<sql id="usersClo">
id,user_name userName,password,email,role,department_id departmentId
</sql>
<select id="selectUsersAll" resultType="Users">
select <include refid="usersClo"></include> from users
</select>
</mapper>
DAO接口创建
DAO接口侧重于业务逻辑层与数据访问层之间的接口定义。
定义接口:在项目中创建一个新的接口文件,比如UserDao.java
。
编写方法:在接口中定义与数据访问相关的方法,如User findById(int id);
等。
public interface UserDao {
User findById(int id);
// 其他方法
}
Service接口与ServiceImpl类创建
Service接口定义了业务逻辑层的方法,而ServiceImpl类则实现了这些方法。
定义Service接口:在项目中创建一个新的接口文件,比如UserService.java
。
编写Service接口方法:在接口中定义业务逻辑层的方法,如User getUserById(int id);
等。
实现Service接口:创建一个新的类文件,比如UserServiceImpl.java
,实现Service接口中定义的方法。
// Service接口
public interface UserService {
User getUserById(int id);
// 其他方法
}
// Service实现类
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper; // 假设使用MyBatis
@Override
public User getUserById(int id) {
return userMapper.getUserById(id);
}
// 其他方法的实现
}
Controller层创建
Controller层负责接收用户请求、调用Service层方法处理业务逻辑,并返回响应给客户端。
创建Controller类:在项目中创建一个新的类文件,比如UserController.java
,并使用@RestController
或@Controller
注解标记。
编写请求处理方法:在Controller类中编写请求处理方法,使用@RequestMapping
、@GetMapping
、@PostMapping
等注解定义请求的URL和HTTP方法。
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/{id}")
public User getUserById(@PathVariable int id) {
return userService.getUserById(id);
}
// 其他请求处理方法的实现
}
通过以上步骤,可以在Java项目中创建mapper、dao、service、serviceImpl、controller等组件,并实现一个基本的分层架构。需要注意的是,在不同的项目和框架中,这些组件的具体实现和命名可能会有所不同。
标签:Java,Service,创建,接口,public,方法,id From: https://blog.csdn.net/weixin_52394366/article/details/142441810