Java Mybatis 数据库增删改查实战教程:使用 User 表示例
使用 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
原文地址: https://www.cveoy.top/t/topic/oUZH 著作权归作者所有。请勿转载和采集!