如何配置Mybatis CRUD?

一、引入依赖和配置文件

1. 引入Mybatis的依赖:在项目的pom.xml文件中添加Mybatis的依赖配置。

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>{mybatis的版本号}</version>
</dependency>

2. 创建Mybatis的配置文件:在项目的resources目录下创建mybatis-config.xml文件,配置Mybatis的全局属性。

<configuration>
    <!-- 配置数据源 -->
    <environments default="development">
        <environment id="development">
            <!-- 配置数据库连接属性 -->
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="{数据库驱动}" />
                <property name="url" value="{数据库连接URL}" />
                <property name="username" value="{数据库用户名}" />
                <property name="password" value="{数据库密码}" />
            </dataSource>
        </environment>
    </environments>
    
    <!-- 配置Mapper扫描路径 -->
    <mappers>
        <mapper resource="{Mapper文件路径}" />
    </mappers>
</configuration>

二、创建Mapper接口和XML配置文件

1. 创建Mapper接口:在项目中创建Mapper接口,用于定义数据访问的接口方法。

public interface UserMapper {
    // 1. 定义查询方法
    User getUserById(Long id);
    
    // 2. 定义插入方法
    void insertUser(User user);
    
    // 3. 定义更新方法
    void updateUser(User user);
    
    // 4. 定义删除方法
    void deleteUser(Long id);
}

2. 创建Mapper XML配置文件:在项目的resources目录下创建Mapper XML配置文件,用于映射Mapper接口的方法和SQL语句。

<mapper namespace="{Mapper接口的全路径}">
    <!-- 1. 查询方法的映射 -->
    <select id="getUserById" resultType="{实体类全路径}">
        SELECT * FROM user WHERE id = #{id}
    </select>
    
    <!-- 2. 插入方法的映射 -->
    <insert id="insertUser">
        INSERT INTO user(name, age) VALUES (#{name}, #{age})
    </insert>
    
    <!-- 3. 更新方法的映射 -->
    <update id="updateUser">
        UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
    </update>
    
    <!-- 4. 删除方法的映射 -->
    <delete id="deleteUser">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>

三、使用Mybatis进行CRUD操作

1. 获取SqlSessionFactory对象:通过Mybatis的配置文件创建SqlSessionFactory对象。

InputStream inputStream = Resources.getResourceAsStream("mybatis-config.xml");
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

2. 获取SqlSession对象:通过SqlSessionFactory对象获取SqlSession对象,用于执行SQL语句。

SqlSession sqlSession = sqlSessionFactory.openSession();

3. 调用Mapper接口的方法:通过SqlSession对象调用Mapper接口的方法,执行对应的SQL语句。

UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

// 1. 查询方法
User user = userMapper.getUserById(1L);

// 2. 插入方法
User newUser = new User("John", 25);
userMapper.insertUser(newUser);

// 3. 更新方法
user.setName("Jane");
user.setAge(26);
userMapper.updateUser(user);

// 4. 删除方法
userMapper.deleteUser(user.getId());

4. 提交事务并关闭SqlSession:对于增删改操作,需要手动调用commit()方法提交事务,并最后关闭SqlSession。

sqlSession.commit();
sqlSession.close();

总结:

通过以上配置和步骤,我们可以使用Mybatis进行CRUD操作。首先需要引入Mybatis的依赖和配置文件,然后创建Mapper接口和XML配置文件,接着通过SqlSessionFactory获取SqlSession对象,最后调用Mapper接口的方法执行SQL语句。需要注意的是,在进行增删改操作后,需要手动提交事务并关闭SqlSession。使用Mybatis进行CRUD操作可以有效地简化数据库访问的代码编写,提高开发效率。