设计三张表并且用mybatis完成最基本的增删改查
时间: 2024-03-17 12:46:08 浏览: 55
好的,我来为您介绍一下如何设计三张表并用 MyBatis 实现最基本的增删改查。
假设我们的应用是一个简单的博客系统,需要设计三张表:用户表、文章表和评论表。
**用户表(user)**
| 列名 | 数据类型 | 描述 |
| -------- | -------- | -------- |
| id | int | 用户ID |
| username | varchar | 用户名 |
| password | varchar | 密码 |
| email | varchar | 电子邮件 |
| status | int | 状态 |
**文章表(article)**
| 列名 | 数据类型 | 描述 |
| ---------- | -------- | -------- |
| id | int | 文章ID |
| title | varchar | 标题 |
| content | text | 内容 |
| user_id | int | 用户ID |
| created_at | datetime | 创建时间 |
| updated_at | datetime | 更新时间 |
**评论表(comment)**
| 列名 | 数据类型 | 描述 |
| ---------- | -------- | -------- |
| id | int | 评论ID |
| content | text | 内容 |
| user_id | int | 用户ID |
| article_id | int | 文章ID |
| created_at | datetime | 创建时间 |
接下来,我们可以使用 MyBatis 来完成这些表的增删改查操作。这里以用户表为例,其他两张表的操作类似。
1. 创建对应的 Java Bean 类
```java
public class User {
private int id;
private String username;
private String password;
private String email;
private int status;
// 省略 getter 和 setter 方法
}
```
2. 创建对应的 Mapper 接口
```java
public interface UserMapper {
User findById(int id);
List<User> findAll();
int insert(User user);
int update(User user);
int delete(int id);
}
```
3. 创建对应的 Mapper XML 文件
```xml
<!-- user_mapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
<select id="findById" parameterType="int" resultType="com.example.bean.User">
SELECT * FROM user WHERE id = #{id}
</select>
<select id="findAll" resultType="com.example.bean.User">
SELECT * FROM user
</select>
<insert id="insert" parameterType="com.example.bean.User">
INSERT INTO user (username, password, email, status)
VALUES (#{username}, #{password}, #{email}, #{status})
</insert>
<update id="update" parameterType="com.example.bean.User">
UPDATE user SET username = #{username}, password = #{password}, email = #{email}, status = #{status}
WHERE id = #{id}
</update>
<delete id="delete" parameterType="int">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
```
4. 在 MyBatis 配置文件中配置 Mapper
```xml
<!-- mybatis-config.xml -->
<configuration>
<mappers>
<mapper resource="com/example/mapper/user_mapper.xml" />
</mappers>
</configuration>
```
5. 使用 MyBatis 进行增删改查操作
```java
// 创建 SqlSessionFactory
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
// 获取 SqlSession
SqlSession session = sessionFactory.openSession();
// 获取 Mapper
UserMapper userMapper = session.getMapper(UserMapper.class);
// 查询
User user = userMapper.findById(1);
List<User> userList = userMapper.findAll();
// 插入
User newUser = new User();
newUser.setUsername("test");
newUser.setPassword("123456");
newUser.setEmail("test@example.com");
newUser.setStatus(1);
userMapper.insert(newUser);
// 更新
user.setUsername("new_username");
userMapper.update(user);
// 删除
userMapper.delete(1);
// 提交事务
session.commit();
// 关闭资源
session.close();
```
以上就是使用 MyBatis 完成最基本的增删改查操作的步骤,希望能够对您有所帮助。
阅读全文