当前位置: 首页>后端>正文

MyBatis基本用法

  1. 定义MyBatis配置文件 mybatis-config.xml,其中包含数据库连接信息和MyBatis全局配置。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<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="123456"/>
            </dataSource>
        </environment>
    </environments>

    <!-- 配置MyBatis的全局属性 -->
    <settings>
        <!-- 打印SQL语句 -->
        <setting name="logImpl" value="STDOUT_LOGGING"/>
        <!-- 开启缓存 -->
        <setting name="cacheEnabled" value="true"/>
        <!-- 配置实体类别名 -->
        <typeAliases>
            <typeAlias type="com.example.User" alias="User"/>
        </typeAliases>
    </settings>

    <!-- 配置Mapper映射文件 -->
    <mappers>
        <mapper resource="com/example/UserMapper.xml"/>
    </mappers>
</configuration>
  1. 定义Mapper映射文件 UserMapper.xml,其中包含SQL语句和映射关系。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.UserMapper">
    <!-- 定义查询SQL语句 -->
    <select id="getUserById" parameterType="int" resultType="User">
        SELECT * FROM user WHERE id = #{id}
    </select>

    <!-- 定义插入SQL语句 -->
    <insert id="insertUser" parameterType="User">
        INSERT INTO user(name, age) VALUES(#{name}, #{age})
    </insert>

    <!-- 定义更新SQL语句 -->
    <update id="updateUser" parameterType="User">
        UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
    </update>

    <!-- 定义删除SQL语句 -->
    <delete id="deleteUser" parameterType="int">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>
  1. 定义实体类 User
public class User {
    private int id;
    private String name;
    private int age;

    // 省略getter和setter方法
}
  1. 使用MyBatis API进行数据库操作。
public void testMybatis() {
    // 加载MyBatis配置文件
    InputStream inputStream = getClass().getClassLoader().getResourceAsStream("mybatis-config.xml");
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    // 获取SqlSession对象
    SqlSession sqlSession = sqlSessionFactory.openSession();
    try {
        // 获取Mapper接口
        UserMapper userMapper = sqlSession.getMapper(UserMapper.class);

        // 查询用户
        User user = userMapper.getUserById(1);
        System.out.println(user.getName());

        // 新增用户
        User newUser = new User();
        newUser.setName("Tom");
        newUser.setAge(20);
        userMapper.insertUser(newUser);

        // 更新用户
        user.setName("Jerry");
        user.setAge(30);
        userMapper.updateUser(user);

        // 删除用户
        userMapper.deleteUser(user.getId());

        // 提交事务
        sqlSession.commit();
    } catch (Exception e) {
        // 回滚事务
        sqlSession.rollback();
        e.printStackTrace();
    } finally {
        sqlSession.close();
    }
}

以上示例仅为MyBatis的基本用法,实际使用时还需要根据具体业务需求进行更加复杂的操作。详细的MyBatis使用说明可以参考官方文档:MyBatis 3 Official Documentation。


https://www.xamrdz.com/backend/3mq1944671.html

相关文章: