【MyBatis】增删改查语句入门

1.根据参数查询用户

UserMapper接口里面新添getUserById方法

  public interface UserMapper {
        //获取全部用户信息
        List<User> getUserList();

        //根据用户ID获取指定用户信息
        User getUserById(int id);

}
<?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.lei.dao.UserMapper">


    <select id="getUserList" resultType="com.lei.pojo.User">
       select * from mybatis.user
   </select>

    <select id="getUserById" resultType="com.lei.pojo.User" parameterType="int">
        select * from mybatis.user where id=#{id}
    </select>

</mapper>
  //指定id获取用户测试
    @Test
    public void test()
    {
        SqlSession sqlSession=MybatisUtils.getSqlSession();//获取SqlSession对象

        UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
        User user=userMapper.getUserById(1);
        System.out.println(user);;


        sqlSession.close();

    }

最重要的是这一个mapper映射

其中直接输出对象

  System.out.println(user);;

Java中直接输出一个类的对象的时候,会调用这个类的toString()方法,自己写的类没有覆盖这个方法的话就是继承Object类的这个方法,Object中toString()方法的实现是这样的:

       getClass().getName() + "@" + Integer.toHexString(hashCode())。

  后面跟的是这个类的哈希码值,如果希望这个类打印出你希望的格式,你就要覆盖toString方法

toString方法返回的是一个String类型的字符串。

2.插入一个新用户

在UserMapper接口里添加addUser方法,

 //插入一个新用户
        void addUser(User user);

在UserMapper.xml里编写对应的映射  sql语句可以直接获得传来对象的变量id name pwd

<insert id="addUser" parameterType="com.lei.pojo.User">
        insert into mybatis.user values (#{id},#{name},#{pwd})
    </insert>

在测试类中进行测试

注意提交事务,不然无法完成更新

 //插入一个新的用户
    @Test
    public void test(){
        SqlSession sqlSession=MybatisUtils.getSqlSession();

        UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
        userMapper.addUser(new User(4,"cc","123445"));

        sqlSession.commit();//注意提交事务
        sqlSession.close();


    }

3.更新一个用户

还是刚才那三步

UserMapper

//更新用户数据
        void updateUser(User user);

UserMapper.xml

<update id="updateUser" parameterType="com.lei.pojo.User">
        update mybatis.user set name=#{name}, pwd=#{pwd}  where id=#{id};
    </update>

test方法

  //更新一个用户的数据
    @Test
    public void test()
    {
        SqlSession sqlSession=MybatisUtils.getSqlSession();

        UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
        userMapper.updateUser(new User(4,"cgl","123123"));

        sqlSession.commit();
        sqlSession.close();
    }

4.删除一个用户

        //删除一个用户
        void deleteUser(int id);
 <delete id="deleteUser" parameterType="int">
        delete from mybatis.user where id=#{id}
    </delete>
 //删除一个用户
    @Test
    public void test(){
        SqlSession sqlSession=MybatisUtils.getSqlSession();

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

        sqlSession.commit();
        sqlSession.close();
    }

5.使用一个map进行添加用户

        //用map插入一个新用户
        void addUserMap(Map<String,Object> map);
 <insert id="addUserMap" parameterType="map">
        insert into user values (#{mapId},#{mapName},#{mapPwd})
    </insert>
  //以map的形式添加一个用户
    @Test
    public void testaddUserMap(){
        SqlSession sqlSession=MybatisUtils.getSqlSession();

        Map<String,Object> map=new HashMap<>();
        map.put("mapId",3);
        map.put("mapName","ccmap");
        map.put("mapPwd","123123");
        UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
        userMapper.addUserMap(map);
        
        sqlSession.commit();
        sqlSession.close();
    }

原文地址:https://www.cnblogs.com/cckong/p/14317814.html