Mybatis增删改查

64 阅读1分钟

第一步:创建一个maven项目

1655973689(1).png

1655973766(1).png

第二步:创建数据库并添加少量数据

创建数据库 1655973953(1).png

添加数据 1655974028(1).png

第三步:编写user实体类

package com.hu.pojo;

public class user {
    private Integer id;
    private String name;
    private  String pwd;

    public user(Integer id, String name, String pwd) {
        this.id = id;
        this.name = name;
        this.pwd = pwd;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPwd() {
        return pwd;
    }

    public void setPwd(String pwd) {
        this.pwd = pwd;
    }

    @Override
    public String toString() {
        return "user{" +
                "id=" + id +
                ", name='" + name + ''' +
                ", pwd='" + pwd + ''' +
                '}';
    }
}

第四步:编写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/user?useSSL=flase"/>
                <property name="username" value="root"/>
                <property name="password" value="root"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="com/hu/mapper/UserMapper.xml"/>
    </mappers>
</configuration>

第五步:编写mapper接口和xml

UserMapper接口

package com.hu.mapper;

import com.hu.pojo.user;

import java.util.List;

public interface UserMapper {
   //查询全部用户
   List<user>getUserList();
   //根据ID查询用户
   user getUserById(int id);

   //增加一个用户
   int adduser(user user);

   //修改用户
   int updateuser(user user);

   //删除用户
   int deleteuser(int id);
}

UserMapper.xml

<?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.hu.mapper.UserMapper">

    <!--select查询用户-->
    <select id="getUserList" resultType="com.hu.pojo.user">
        select * from user;
    </select>
    <!--根据id查询用户-->
    <select id="getUserById" parameterType="int" resultType="com.hu.pojo.user">
        select * from user where id=#{id};
    </select>
    <!--增加用户-->
    <insert id="adduser" parameterType="com.hu.pojo.user">
        insert into user.user(id,name,pwd) values(#{id},#{name},#{pwd});
    </insert>

    <!--修改用户-->
    <update id="updateuser" parameterType="com.hu.pojo.user">
        update user.user set name=#{name},pwd=#{pwd} where id=#{id};
    </update>

    <!--删除用户-->
    <delete id="deleteuser" parameterType="int">
        delete from user.user where id=#{id};
    </delete>
</mapper>

第六步:编写测试类进行测试

package com.hu.test;

import com.hu.mapper.UserMapper;
import com.hu.pojo.user;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.ibatis.io.Resources;
import org.junit.Test;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class MyBatisTest {
  @Test
  //查询全部用户
    public void testgetList() throws IOException {
      String resource="mybatis-config.xml";
      InputStream inputStream= Resources.getResourceAsStream(resource);
      SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

      SqlSession sqlSession = sqlSessionFactory.openSession();

      UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
     
      List<user> users=userMapper.getUserList();
      System.out.println(users);

      sqlSession.close();
  }

  @Test
  //根据id查询
  public void getUserById() throws IOException {
    String resource="mybatis-config.xml";
    InputStream inputStream= Resources.getResourceAsStream(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    SqlSession sqlSession = sqlSessionFactory.openSession();

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

    user users=userMapper.getUserById(1);
    System.out.println(users);
    sqlSession.close();
  }

  @Test
  //添加一条数据
  public void adduser() throws IOException {
    String resource="mybatis-config.xml";
    InputStream inputStream= Resources.getResourceAsStream(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    SqlSession sqlSession = sqlSessionFactory.openSession();

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

    int res=userMapper.adduser(new user(5,"田七","123459"));

    if(res>0){
      System.out.println("插入成功");
    }
    sqlSession.commit();
    sqlSession.close();
  }

 @Test
 //更新数据
  public void updateUser() throws IOException {
    String resource="mybatis-config.xml";
    InputStream inputStream= Resources.getResourceAsStream(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    SqlSession sqlSession = sqlSessionFactory.openSession();

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

    userMapper.updateuser(new user(1,"111","222"));
    sqlSession.commit();
    sqlSession.close();
  }

  @Test
  //删除一条数据
  public void deleteuser() throws IOException {
    String resource="mybatis-config.xml";
    InputStream inputStream= Resources.getResourceAsStream(resource);
    SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

    SqlSession sqlSession = sqlSessionFactory.openSession();

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

    userMapper.deleteuser(2);
    sqlSession.commit();
    sqlSession.close();
  }
}
整体项目结构展示

1655974533(1).png

以上就是Mybatis的增删改查具体思路和代码实现