mybatis的CRUD的例子
时间: 2023-11-15 13:05:16 浏览: 35
下面是 MyBatis 的 CRUD 示例:
1. 配置文件
```xml
<!-- configuration.xml -->
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
```
2. 实体类
```java
package com.example.entity;
public class User {
private int id;
private String name;
private int age;
// 省略 getter 和 setter 方法
}
```
3. Mapper 接口
```java
package com.example.mapper;
import java.util.List;
import com.example.entity.User;
public interface UserMapper {
User getUserById(int id);
List<User> getAllUsers();
void addUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
```
4. Mapper 文件
```xml
<!-- UserMapper.xml -->
<mapper namespace="com.example.mapper.UserMapper">
<resultMap id="userMap" type="User">
<id column="id" property="id"/>
<result column="name" property="name"/>
<result column="age" property="age"/>
</resultMap>
<select id="getUserById" resultMap="userMap">
SELECT * FROM user WHERE id = #{id}
</select>
<select id="getAllUsers" resultMap="userMap">
SELECT * FROM user
</select>
<insert id="addUser" parameterType="User">
INSERT INTO user (name, age) VALUES (#{name}, #{age})
</insert>
<update id="updateUser" parameterType="User">
UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
</update>
<delete id="deleteUser">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
```
5. 使用 MyBatis
```java
package com.example;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.example.entity.User;
import com.example.mapper.UserMapper;
public class MyBatisExample {
public static void main(String[] args) throws Exception {
String resource = "configuration.xml";
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(Resources.getResourceAsStream(resource));
SqlSession sqlSession = sqlSessionFactory.openSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 查询单个用户
User user = userMapper.getUserById(1);
System.out.println(user.getName());
// 查询所有用户
List<User> userList = userMapper.getAllUsers();
for (User u : userList) {
System.out.println(u.getName());
}
// 添加用户
User newUser = new User();
newUser.setName("Tom");
newUser.setAge(20);
userMapper.addUser(newUser);
// 修改用户
User updateUser = new User();
updateUser.setId(1);
updateUser.setName("John");
updateUser.setAge(30);
userMapper.updateUser(updateUser);
// 删除用户
userMapper.deleteUser(1);
sqlSession.commit();
sqlSession.close();
}
}
```