使用注解的方式整合MyBatis。参考书上3.2.2内容,实现对t_comment表插入一条数据,并将它查询出来,其中author字段为自己的名字。
时间: 2024-10-17 13:04:24 浏览: 32
Mybatis基于注解实现多表查询功能
在MyBatis中,注解是一种简洁的方式来配置SQL映射和事务管理。首先,你需要在实体类(如Comment)中添加一些注解来指定Mapper接口和结果集:
```java
// Comment.java
import org.springframework.stereotype.Repository;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
@TableName("t_comment")
@Repository("commentMapper") // 自动识别为Mapper接口名
public class Comment {
@TableId(value = "id", type = IdType.AUTO) // 设置主键生成策略
private Long id;
@TableField("author") // 指定需要映射到数据库字段
private String author;
// getters and setters...
}
```
接下来,在对应的Mapper接口中使用`@Insert`和`@Select`注解来定义插入和查询操作:
```java
// CommentMapper.java
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
public interface CommentMapper extends BaseMapper<Comment> {
@Insert("INSERT INTO t_comment (author) VALUES ({0})") // 插入注解,动态参数{0}表示author字段
void insertComment(String author);
@Select("SELECT * FROM t_comment WHERE author = #{author}") // 查询注解,#{author}会被注入作者值
Comment selectCommentByAuthor(String author);
}
```
最后,在服务层或Repository中调用这些方法:
```java
// ServiceImpl.java 或 CommentRepository.java
@Autowired
private CommentMapper commentMapper;
public void saveComment(String author) {
commentMapper.insertComment(author);
}
public Comment getCommentByAuthor(String author) {
return commentMapper.selectCommentByAuthor(author);
}
```
阅读全文