使用mybaits写一个增删改查的小程序,dao层UserMapper,pojo层User,mapper文件usermapper,测试文件UserTest user有5个属性:id,username,sno,createtime,deptid
时间: 2024-09-12 15:01:52 浏览: 42
使用MyBatis实现一个简单的增删改查(CRUD)小程序涉及到几个关键的组件和步骤。下面是实现这些功能的一个概述,包括`UserMapper`接口的定义,`User`实体类的设计,`UserMapper.xml`映射文件的配置,以及一个简单的`UserTest`测试类的示例。
1. **User实体类**
首先,你需要定义一个`User`实体类,它包含了五个属性:`id`、`username`、`sno`、`createtime`和`deptid`。每个属性都有相应的getter和setter方法。
```java
public class User {
private Integer id;
private String username;
private String sno;
private Date createtime;
private Integer deptid;
// getters and setters
}
```
2. **UserMapper接口**
接下来,定义`UserMapper`接口,该接口声明了基本的CRUD操作方法。
```java
public interface UserMapper {
int insert(User user);
int deleteById(Integer id);
int update(User user);
User selectById(Integer id);
List<User> selectAll();
}
```
3. **UserMapper.xml映射文件**
然后,创建`UserMapper.xml`文件,它将`UserMapper`接口中的方法映射到相应的SQL语句。
```xml
<mapper namespace="你的包名.UserMapper">
<!-- 插入操作 -->
<insert id="insert" parameterType="User">
INSERT INTO user (username, sno, createtime, deptid)
VALUES (#{username}, #{sno}, #{createtime}, #{deptid})
</insert>
<!-- 删除操作 -->
<delete id="deleteById" parameterType="int">
DELETE FROM user WHERE id = #{id}
</delete>
<!-- 更新操作 -->
<update id="update" parameterType="User">
UPDATE user
SET username = #{username}, sno = #{sno}, createtime = #{createtime}, deptid = #{deptid}
WHERE id = #{id}
</update>
<!-- 查询单个用户 -->
<select id="selectById" resultType="User">
SELECT * FROM user WHERE id = #{id}
</select>
<!-- 查询所有用户 -->
<select id="selectAll" resultType="User">
SELECT * FROM user
</select>
</mapper>
```
确保替换`namespace`属性为实际的包名。
4. **UserTest测试类**
最后,你需要创建一个`UserTest`类来进行测试。这里以JUnit为例。
```java
public class UserTest {
private SqlSession session;
private UserMapper mapper;
@Before
public void setUp() {
// 初始化MyBatis,获取SqlSession
// 获取UserMapper接口的代理对象
}
@Test
public void testCRUD() {
// 创建User对象进行插入测试
User user = new User();
// 设置属性
mapper.insert(user);
// 查询测试
User selectUser = mapper.selectById(user.getId());
// 更新测试
user.setUsername("新用户名");
mapper.update(user);
// 删除测试
mapper.deleteById(user.getId());
}
@After
public void tearDown() {
// 提交事务或回滚事务
// 关闭session
}
}
```
在`setUp`方法中初始化MyBatis,获取`SqlSession`并从`SqlSession`中获取`UserMapper`接口的代理对象。在`tearDown`方法中进行资源的释放操作。
阅读全文