collection mybatis 使用方法
时间: 2023-08-23 16:14:50 浏览: 165
MyBatis是一个Java持久化框架,用于将Java对象映射到数据库中的数据。在使用MyBatis的时候,可以使用Collection来进行数据操作。
1. 首先,在MyBatis的配置文件中配置相应的数据库连接信息和Mapper文件的路径。
2. 创建一个Mapper接口,用于定义需要执行的SQL语句。在接口中可以定义各种方法来完成不同的数据操作。
```java
public interface UserMapper {
List<User> getAllUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUser(int id);
}
```
3. 创建Mapper.xml文件,用于编写SQL语句。在该文件中使用Collection标签可以进行批量操作。
```xml
<mapper namespace="com.example.UserMapper">
<select id="getAllUsers" resultType="com.example.User">
SELECT * FROM users
</select>
<insert id="insertUser" parameterType="com.example.User">
INSERT INTO users (id, name, age) VALUES
<foreach collection="list" item="user" separator=",">
(#{user.id}, #{user.name}, #{user.age})
</foreach>
</insert>
<update id="updateUser" parameterType="com.example.User">
UPDATE users
SET name = #{name}, age = #{age}
WHERE id = #{id}
</update>
<delete id="deleteUser" parameterType="int">
DELETE FROM users WHERE id = #{id}
</delete>
</mapper>
```
4. 在代码中使用Mapper接口来执行SQL语句。
```java
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = sqlSessionFactory.openSession();
try {
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
// 获取所有用户
List<User> userList = userMapper.getAllUsers();
// 批量插入用户
List<User> newUserList = new ArrayList<>();
newUserList.add(new User(1, "John", 25));
newUserList.add(new User(2, "Jane", 30));
userMapper.insertUser(newUserList);
// 更新用户
User user = new User(1, "John Doe", 26);
userMapper.updateUser(user);
// 删除用户
userMapper.deleteUser(2);
sqlSession.commit();
} finally {
sqlSession.close();
}
```
这样,你就可以使用Collection进行批量操作了。当然,在实际使用中,还可以根据具体需求进行更加复杂的操作。希望对你有所帮助!
阅读全文