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

 更新时间:2022年11月25日 14:22:03   作者:江南0o0  
这篇文章主要介绍了mybatis实现查询操作及获得添加的ID,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
  • 接口
/**
     * 获得所有用户
     * @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);

    }

到此这篇关于mybatis实现查询操作及获得添加的ID的文章就介绍到这了,更多相关mybatis获得添加的ID内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ribbon的饥饿加载(eager-load)模式解读

    Ribbon的饥饿加载(eager-load)模式解读

    这篇文章主要介绍了Ribbon的饥饿加载(eager-load)模式解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Java线程的生命周期的详解

    Java线程的生命周期的详解

    这篇文章主要介绍了Java线程的生命周期的详解的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下
    2017-10-10
  • window 下 win10 jdk8安装与环境变量的配置过程

    window 下 win10 jdk8安装与环境变量的配置过程

    这篇文章主要介绍了window 下 win10 jdk8安装与环境变量的配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • 从log4j2到Disruptor详解

    从log4j2到Disruptor详解

    这篇文章主要介绍了从log4j2到Disruptor详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • 详解Spring Security 中的四种权限控制方式

    详解Spring Security 中的四种权限控制方式

    这篇文章主要介绍了详解Spring Security 中的四种权限控制方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • SpringBoot之Controller的使用详解

    SpringBoot之Controller的使用详解

    本篇文章主要介绍了SpringBoot之Controller的使用详解,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-08-08
  • Assert.assertEquals的使用方法及注意事项说明

    Assert.assertEquals的使用方法及注意事项说明

    这篇文章主要介绍了Assert.assertEquals的使用方法及注意事项说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 完整java开发中JDBC连接数据库代码和步骤

    完整java开发中JDBC连接数据库代码和步骤

    这篇文章主要介绍了完整java开发中JDBC连接数据库代码和步骤,需要的朋友可以参考下
    2015-09-09
  • 简单谈谈ThreadPoolExecutor线程池之submit方法

    简单谈谈ThreadPoolExecutor线程池之submit方法

    下面小编就为大家带来一篇简单谈谈ThreadPoolExecutor线程池之submit方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • SpringBoot教程_创建第一个SpringBoot项目

    SpringBoot教程_创建第一个SpringBoot项目

    这篇文章主要介绍了SpringBoot教程_创建第一个SpringBoot项目,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论