#Java篇:@TableName @Data @Service @RestController 和 @RequestMapping @Autowired注解的理解

Model 和 Mapper 之间的关系

Model实体类 表结构,每个实体类代表了一张数据库表
Mapper层是数据访问层的一部分。
Model 和 Mapper 之间的关系,Mapper层负责将来自数据库的结果集转换为Model对象实例,或者反过来将Model对象的数据保存到数据库中。

Model里面注解的理解

链接数据库 @TableName 注解

@TableName 注解是 MyBatis-Plus 框架中用于标识实体类与数据库表之间映射关系的一个重要组件。

@Data 注解的原理解释

@Data 是 Lombok 库提供的一个非常常用的注解,用于简化 Java 类的编写。它会在编译时自动生成常见的 getter、setter、toString()、equals() 和 hashCode() 方法,从而减少样板代码的编写。

Mapper里面注解的理解

@Mapper 是 MyBatis 和 MyBatis-Plus 框架中常用的注解,用于标识接口为 MyBatis 的映射器(Mapper)。它告诉 MyBatis 或 MyBatis-Plus 这个接口是一个持久层接口,并且会自动生成实现类。

Service里面注解的理解

impl

@Service 注解简化了服务层组件的注册和管理,使得开发者能够专注于业务逻辑的实现。通过结合依赖注入和事务管理等功能,可以构建出高效且易于维护的服务层代码。确保在项目中合理使用 @Service 注解,遵循分层架构设计原则,提升代码的可读性和可维护性。

Controller

RESTful API:通过 @RestController 和 @RequestMapping 注解,定义了一个 RESTful API 控制器,处理与角色相关的请求。


依赖注入:通过 @Autowired 注解,自动注入了 IRoleService,简化了服务层组件的管理。


HTTP 请求映射:通过 @GetMapping 注解,将特定的 HTTP GET 请求映射到控制器的方法上,简化了请求处理逻辑。

### 回答1: MybatisPlus提供了丰富的注解支持,可以使您在SpringBoot中轻松实现代码查询。它们包括@Select、@Insert、@Update、@Delete、@SelectProvider等,可以满足您的不同需求。代码实现很简单:@Select("SELECT * FROM user WHERE id = #{id}") User findById(int id);@Insert("INSERT INTO user(name, age) VALUES(#{name}, #{age})") int insert(User user);@Update("UPDATE user SET name=#{name}, age=#{age} WHERE id=#{id}") int update(User user);@Delete("DELETE FROM user WHERE id=#{id}") int delete(int id); ### 回答2: 在Spring Boot项目中使用MyBatis Plus进行注解查询可以通过以下步骤实现: 1. 添加依赖:在项目的pom.xml文件中添加MyBatis Plus的依赖。可以通过以下方式添加依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` 2. 配置数据源:在项目的application.properties或application.yml文件中配置数据源相关信息,包括数据库URL、用户名、密码等。 3. 创建实体类:创建与数据库表对应的实体类,并使用MyBatis Plus的注解进行字段映射。例如,使用`@TableName`注解指定实体类数据库表的对应关系,使用`@TableId`注解指定主键。 4. 创建Mapper接口:创建一个Mapper接口,继承MyBatis Plus提供的BaseMapper接口。不需要实现该接口中的方法,因为MyBatis Plus会根据方法名自动生成SQL语句。 5. 注解查询:在业务逻辑的代码中,通过注入Mapper对象,调用其提供的方法进行查询。例如,使用`@Select`注解指定SQL语句,使用`@Param`注解指定参数。 以下是一个示例: ```java @Entity @TableName("user") public class User { @TableId private Long id; private String username; private String password; // 省略gettersetter方法 } @Mapper public interface UserMapper extends BaseMapper<User> { @Select("SELECT * FROM user WHERE username = #{username}") User findByUsername(@Param("username") String username); } @Service public class UserService { @Autowired private UserMapper userMapper; public User getUserByUsername(String username) { return userMapper.findByUsername(username); } } ``` 在上面的例子中,`User`是一个实体类,使用`@TableName`注解指定与数据库表`user`的对应关系。`UserMapper`接口继承了`BaseMapper`接口,其中`findByUsername`方法使用了`@Select`注解指定查询语句,并使用了`@Param`注解指定参数。`UserService`中注入了`UserMapper`对象,并调用其方法进行查询。 ### 回答3: 使用Spring BootMyBatis Plus进行注解查询的步骤如下: 1. 首先,在你的Spring Boot项目中添加依赖。在pom.xml文件中添加如下依赖: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>latest-version</version> </dependency> ``` 2. 创建数据库表实体类。在你的数据库中创建表,并创建对应的实体类。 例如,创建一个User表,包含id、nameage字段,对应的User实体类如下: ```java @Data public class User { private Long id; private String name; private Integer age; } ``` 3. 创建Mapper接口。在你的项目中创建一个Mapper接口,并使用MyBatis Plus的注解来定义查询方法。 例如,创建一个UserMapper接口,在该接口中使用`@Select`注解进行查询: ```java @Mapper public interface UserMapper extends BaseMapper<User> { @Select("SELECT * FROM user WHERE age > #{age}") List<User> findUsersByAge(@Param("age") Integer age); } ``` 4. 使用Mapper进行查询。在你的服务类或Controller中使用自动注入的UserMapper实例进行查询。 例如,在UserController中调用查询方法: ```java @RestController @RequestMapping("/users") public class UserController { @Autowired private UserMapper userMapper; @GetMapping("/age/{age}") public List<User> getUsersByAge(@PathVariable Integer age) { return userMapper.findUsersByAge(age); } } ``` 现在,你可以通过发送GET请求`/users/age/18`来获取年龄大于18的用户列表。 以上就是使用Spring BootMyBatis Plus进行注解查询的简单示例。你可以根据具体的业务需求,使用不同的注解SQL语句来查询操作数据库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值