如何创建项目, 注入依赖, 编写核心配置文件, 工具类, 实体类这里就不详细说了, 具体可以参考下边这条博文
https://www.cnblogs.com/bear7/p/12491937.html
这里将详细说一下有关 mybatis 操作数据库实现增删盖查的步骤:
* 编写接口
* 编写对应映射文件中 mapper
* 编写测试类
1.select 语句: 选择, 查询数据
1.1 查询 User 表中所有信息
* 编写接口
- package com.kuang.dao;
- import com.kuang.pojo.User;
- import java.util.List;
- public interface UserMapper {
- List<User> getUserList();
- }
* 编写对应映射文件中 mapper 中的 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.kuang.dao.UserMapper">
- <select id="getUserList" resultType="com.kuang.pojo.User">
- select * from mybatis.user
- </select>
- </mapper>
- //select * from mybatis.user 这里的 mybatis.user 的意思是: mybatis 数据库中 user 表
* 编写测试类
- package com.kuang.dao;
- import com.kuang.pojo.User;
- import com.kuang.utils.MybatisUtils;
- import org.apache.ibatis.session.SqlSession;
- import org.apache.ibatis.session.SqlSessionFactory;
- import org.junit.Test;
- import java.util.List;
- public class UserDaoTest {
- @Test
- public void test(){
- SqlSession sqlSession = MybatisUtils.getSqlSession();
- UserMapper userDao = sqlSession.getMapper(UserMapper.class);
- List<User> userList = userDao.getUserList();
- for (User user : userList) {
- System.out.println(user);
- }
- sqlSession.close();
- }
- }
1.2 查询 User 表满足条件的数据
* 编写接口
User getUserById(int id);
* 编写对应映射文件中 mapper
- <select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User">
- select * from mybatis.user WHERE id = #{id}
- </select>
* 编写测试类
- @Test
- public void getUserById(){
- SqlSession sqlSession = MybatisUtils.getSqlSession();
- UserMapper mapper = sqlSession.getMapper(UserMapper.class);
- User user = mapper.getUserById(1);
- System.out.println(user);
- sqlSession.close();
- }
2.insert 语句: 插入数据
* 编写接口
int addUser(User user);
* 编写对应映射文件中 mapper
- <insert id="addUser" parameterType="com.kuang.pojo.User">
- INSERT INTO mybatis.user(id, name, pwd) VALUES (#{id},#{name},#{pwd})
- </insert>
* 编写测试类
- @Test
- public void addUser(){
- SqlSession sqlSession = MybatisUtils.getSqlSession();
- UserMapper mapper = sqlSession.getMapper(UserMapper.class);
- int res = mapper.addUser(new User(6, "王五", "789456"));
- System.out.println("res:"+res);
- sqlSession.commit();
- sqlSession.close();
- }
3.update 语句: 更新数据
* 编写接口
int updateUser(User user);
* 编写对应映射文件中 mapper
- <update id="updateUser" parameterType="com.kuang.pojo.User">
- UPDATE mybatis.user SET name=#{name},pwd=#{pwd} WHERE id = #{id}
- </update>
* 编写测试类
- @Test
- public void updateUser(){
- SqlSession sqlSession = MybatisUtils.getSqlSession();
- UserMapper mapper = sqlSession.getMapper(UserMapper.class);
- int res = mapper.updateUser(new User(4, "赵六", "123456"));
- System.out.println(res);
- sqlSession.commit();
- sqlSession.close();
- }
4.delete 语句: 删除数据
* 编写接口
int deleteUser(int id);
* 编写对应映射文件中 mapper
- <delete id="deleteUser" parameterType="int">
- DELETE FROM mybatis.user WHERE id=#{id}
- </delete>
* 编写测试类
- @Test
- public void deleteUser(){
- SqlSession sqlSession = MybatisUtils.getSqlSession();
- UserMapper mapper = sqlSession.getMapper(UserMapper.class);
- int res = mapper.deleteUser(6);
- System.out.println(res);
- sqlSession.commit();
- sqlSession.close();
- }
来源: http://www.bubuko.com/infodetail-3461502.html