mybatis实现查询操作及获得添加的ID

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

mybatis实现查询操作及获得添加的ID

江南0o0   2022-11-26 我要评论
  • 接口
/**
     * 获得所有用户
     * @return
     */
    List<User> findAll();

    /**
     * 根据id查询用户
     * @param id
     * @return
     */
    User findById(Integer id);

    /**
     *根据名字模糊查询
     * @param username
     * @return
     */
    List<User> findByName(String username);

    /**
     *查询总记录条数
     * @param
     * @return
     */
    int findTotal();
  • mapper
<!--   获得所有用户-->
    <select id="findAll" resultType="com.itheima.domain.User">
        select * from user;
    </select>

<!--    根据id查询用户-->
    <select id="findById" parameterType="int" resultType="com.itheima.domain.User">
        select * from user where id=#{id};
    </select>

<!--    根据名字模糊查询-->
    <select id="findByName" parameterType="String" resultType="com.itheima.domain.User">
        select * from user where username like #{username}
    </select>
    
<!--    查询总记录条数-->
    <select id="findTotal" resultType="int">
        select count(id) from user;
    </select>
  • 测试
/**
     * 测试查询所有
     */
    @Test
    public void testSelectAll(){
        List<User> user = userDao.findAll();
        for(User user1 : user){
            System.out.println(user1);
        }
    }


    /**
     * 测试根据id查询user
     */
    @Test
    public void testFindById() {
        User user = userDao.findById(57);
        System.out.println(user);
    }

    /**
     * 测试根据名字模糊查询
     */
    @Test
    public void testFindByName() {
        List<User> list = userDao.findByName("%王%");
        for(User user:list){
            System.out.println(user);
        }
    }

    /**
     * 测试获得总记录条数
     */
    @Test
    public void testFindTotal() {
        int count = userDao.findTotal();
        System.out.println(count);
    }

 添加一组数据,同时获得他的id值:last_insert_id()

接口

/**
     * 添加用户
     */
    void saveUser(User user);

mapper

<!--    添加一个用户;同时获得用户的id值-->
    <insert id="saveUser" parameterType="com.itheima.domain.User">

        <selectKey keyProperty="id" keyColumn="id" resultType="int" order="AFTER">
            select last_insert_id();
        </selectKey>

        insert into user(username,birthday,sex,address)
        values(#{username},#{birthday},#{sex},#{address})
    </insert>

测试

/**
     * 测试添加用户,同时获得添加之后id值
     */
    @Test
    public void testSave(){
        User user = new User();
        user.setUsername("mybatis inserid");
        user.setBirthday(new Date());
        user.setSex("女");
        user.setAddress("香港");

        System.out.println("保存操作之前:" + user);
        userDao.saveUser(user);
        System.out.println("保存操作之后:" + user);

    }

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们