使用 Java 和 Mybatis 实现数据库增删改查

本教程将使用 Java 语言和 Mybatis 框架实现对数据库 User 表的增删改查操作,以帮助您理解 Mybatis 的基本用法。

1. 实体类javapublic class User { private Integer id; private String name; // 省略getter和setter方法}

2. Mapper 接口javapublic interface UserMapper { // 新增用户 void addUser(User user); // 根据id删除用户 void deleteUserById(Integer id); // 更新用户 void updateUser(User user); // 根据id查询用户 User getUserById(Integer id);}

3. Mapper.xml 文件xml

<!-- 新增用户 -->    <insert id='addUser' parameterType='com.example.entity.User'>        insert into user(name) values(#{name})    </insert>

<!-- 根据id删除用户 -->    <delete id='deleteUserById'>        delete from user where id = #{id}    </delete>

<!-- 更新用户 -->    <update id='updateUser' parameterType='com.example.entity.User'>        update user set name = #{name} where id = #{id}    </update>

<!-- 根据id查询用户 -->    <select id='getUserById' resultType='com.example.entity.User'>        select * from user where id = #{id}    </select>

4. Dao 类javapublic class UserDao { private SqlSessionFactory sqlSessionFactory;

public UserDao(SqlSessionFactory sqlSessionFactory) {        this.sqlSessionFactory = sqlSessionFactory;    }

// 新增用户    public void addUser(User user) {        try (SqlSession session = sqlSessionFactory.openSession()) {            UserMapper mapper = session.getMapper(UserMapper.class);            mapper.addUser(user);            session.commit();        }    }

// 根据id删除用户    public void deleteUserById(Integer id) {        try (SqlSession session = sqlSessionFactory.openSession()) {            UserMapper mapper = session.getMapper(UserMapper.class);            mapper.deleteUserById(id);            session.commit();        }    }

// 更新用户    public void updateUser(User user) {        try (SqlSession session = sqlSessionFactory.openSession()) {            UserMapper mapper = session.getMapper(UserMapper.class);            mapper.updateUser(user);            session.commit();        }    }

// 根据id查询用户    public User getUserById(Integer id) {        try (SqlSession session = sqlSessionFactory.openSession()) {            UserMapper mapper = session.getMapper(UserMapper.class);            return mapper.getUserById(id);        }    }}

5. 测试类javapublic class Test { public static void main(String[] args) { // 1. 创建SqlSessionFactory SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); InputStream inputStream = Test.class.getClassLoader().getResourceAsStream('mybatis-config.xml'); SqlSessionFactory sqlSessionFactory = builder.build(inputStream);

    // 2. 创建Dao对象        UserDao userDao = new UserDao(sqlSessionFactory);

    // 3. 新增用户        User user = new User();        user.setName('张三');        userDao.addUser(user);

    // 4. 根据id查询用户        User user1 = userDao.getUserById(1);        System.out.println(user1.getId() + ' ' + user1.getName()); // 1 张三

    // 5. 更新用户        user1.setName('李四');        userDao.updateUser(user1);

    // 6. 根据id查询用户        User user2 = userDao.getUserById(1);        System.out.println(user2.getId() + ' ' + user2.getName()); // 1 李四

    // 7. 根据id删除用户        userDao.deleteUserById(1);

    // 8. 根据id查询用户        User user3 = userDao.getUserById(1);        System.out.println(user3); // null
Java Mybatis 数据库增删改查实战教程:使用 User 表示例

原文地址: https://www.cveoy.top/t/topic/oUZH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录