MyBatis的增删改查

这篇具有很好参考价值的文章主要介绍了MyBatis的增删改查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

2023.10.29

        本章学习MyBatis的基本crud操作。

insert

java程序如下:

①使用map集合传参

@Test
    public void testInsertCar(){
        SqlSession sqlSession = SqlSessionUtil.openSession();

        //先将数据放到Map集合中,在sql语句中使用 #{map集合的key} 来完成传值,#{} 等同于JDBC中的 ? ,#{}就是占位符
        Map<String,Object> map = new HashMap<>();
        map.put("carNum", "1029");
        map.put("brand", "马自达");
        map.put("guidePrice", 50.3);
        map.put("produceTime", "2023-10-29");
        map.put("carType", "燃油车");

        // 执行SQL语句(使用map集合给sql语句传递数据)
        int count = sqlSession.insert("insertCar", map);
        System.out.println("插入了几条记录:" + count);
        sqlSession.commit();
        sqlSession.close();
    }

②使用pojo传参

@Test
    public void testInsertCarByPOJO(){
        SqlSession sqlSession = SqlSessionUtil.openSession();
        Car car = new Car(null,"1029","马自达",50.3,"2023-10-29","燃油车");

        int count = sqlSession.insert("insertCar",car);
        System.out.println(count);
        sqlSession.commit();
        sqlSession.close();
    }

SQL语句如下:

<insert id="insertCar">
        insert into t_car(id,car_num,brand,guide_price,produce_time,car_type) values (null,#{carNum},#{brand},#{guidePrice},#{produceTime},#{carType});
</insert>

 运行结果:

MyBatis的增删改查,MyBatis,mybatis,java,开发语言

ps:如果采用map集合传参,#{} 里写的是map集合的key,如果key不存在不会报错,数据库表中会插入NULL。

ps:如果采用POJO传参,#{} 里写的是POJO类中get方法的方法名去掉get之后将剩下的单词首字母变小写(例如:getAge对应的是#{age},getUserName对应的是#{userName}),如果这样的get方法不存在会报错。

delete

需求:根据car_num进行删除。

java程序如下:

@Test
    public void testDeleteById(){
        SqlSession sqlSession = SqlSessionUtil.openSession();
        int count = sqlSession.delete("deleteById",2);
        sqlSession.commit();
        sqlSession.close();
    }

sql语句如下:

    <delete id="deleteById">
        delete from t_car where id = #{id}
    </delete>

运行结果:

MyBatis的增删改查,MyBatis,mybatis,java,开发语言 

 ps:当占位符只有一个的时候,${} 里面的内容可以随便写。

update

java代码如下:

    @Test
    public void testUpdateById(){
        SqlSession sqlSession = SqlSessionUtil.openSession();
        Car car = new Car(21L,"1029","宝马7系",66.6,"1999-11-23","燃油车");
        int count = sqlSession.update("updateById",car);
        System.out.println(count);
        sqlSession.commit();
        sqlSession.close();
    }

sql语句如下:

    <update id="updateById">
        update t_car set
                         car_num = #{carNum}, brand = #{brand},
                         guide_price = #{guidePrice}, produce_time = #{produceTime},
                         car_type = #{carType}
        where id = #{id}
    </update>

运行结果:

MyBatis的增删改查,MyBatis,mybatis,java,开发语言

select 

查询一条数据:

需求:查询id为21的Car信息

java代码如下:

    @Test
    public void testSelectCarById(){
        // 获取SqlSession对象
        SqlSession sqlSession = SqlSessionUtil.openSession();
        // 执行SQL语句
        Object car = sqlSession.selectOne("selectCarById", 21);
        System.out.println(car);
    }

sql语句如下:

    <select id="selectCarById" resultType="pojo.Car">
        select
            id, car_num as carNum, brand, guide_price as guidePrice, produce_time as produceTime, car_type as carType
        from
            t_car
        where
            id = #{id}
    </select>

运行结果:

MyBatis的增删改查,MyBatis,mybatis,java,开发语言

ps:当查询结果的字段名和java类的属性名对应不上的话,可以采用as关键字起别名 。

查询多条数据:

java代码如下:

    @Test
    public void testSelectCarAll(){
        // 获取SqlSession对象
        SqlSession sqlSession = SqlSessionUtil.openSession();
        // 执行SQL语句
        List<Object> cars = sqlSession.selectList("selectCarAll");
        // 输出结果
        cars.forEach(car -> System.out.println(car));
    }

sql语句如下:

    <!--虽然结果是List集合,但是resultType属性需要指定的是List集合中元素的类型。-->
    <select id="selectCarAll" resultType="pojo.Car">
        <!--记得使用as起别名,让查询结果的字段名和java类的属性名对应上。-->
        select
        id, car_num as carNum, brand, guide_price as guidePrice, produce_time as produceTime, car_type as carType
        from
        t_car
    </select>

由于我数据库只有一条记录,先手动添加几条记录:

MyBatis的增删改查,MyBatis,mybatis,java,开发语言

运行查询语句,结果为:

 MyBatis的增删改查,MyBatis,mybatis,java,开发语言

ps:在SQL Mapper配置文件中<mapper>标签的namespace属性可以翻译为命名空间,这个命名空间主要是为了防止sqlId冲突的。文章来源地址https://www.toymoban.com/news/detail-713735.html

到了这里,关于MyBatis的增删改查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • spring整合mybatis(实现数据的增删改查)

    一、专业术语解释 1、spring:是分层的Java SE/EE应用full - stack 轻量级开源框架 , 以IoC(控制反转)和AOP(面向切面编程)为内核 ,提供展现层spring MVC 和 spring JDBC等众多企业级应用技术。 2、mybatis:是一个持久层框架。原始连接数据库是通过JDBC的API来操作的,过程繁琐,而 mybati

    2024年02月08日
    浏览(43)
  • 化繁为简,MyBatis-Plus 里面的增删改查

    在当前盛行的 SpringBoot 项目中,整合持久层这一块,目前主流的有两种:JPA 和 MyBatis-Plus。至于哪个用的更多一些,这个主要还是看每个公司的技术架构,但硬是要说一个最为常用的,我认为是 MyBatis-Plus,而在这里也是对 MyBatis-Plus 的一个使用进行演示 好了,废话不多说,直

    2024年02月04日
    浏览(34)
  • 使用Spring+SpringMVC+Mybatis实现留言板的增删改查

    目的 1)掌握使用maven来创建SSM项目 2)掌握web.xml和pom.xml的使用 3)掌握Spring、SpringMVC和Mybatis,学会整合SSM 4)掌握的controller层注解@Autowired,@RequestMapping和@RequestParam的使用 5)用学会配置SpringMVC.xml、applicationContext.xml和mybatis-config.xml等配置文件 6)掌握spring+springMVC+mybatis 对于留言板

    2024年02月04日
    浏览(105)
  • MyBatis-Plus 基础操作指南:实现高效的增删改查

        大家好,今天我们来聊聊如何使用 MyBatis-Plus(接下来简称为 MP),一个流行的 MyBatis 增强工具,来简化和加速我们的数据库操作。如果你是一位初学者,不用担心,我将带你从头到尾详细了解 MP 的使用方法,特别是如何实现基本的增删改查操作。     在开始详细介绍之

    2024年02月05日
    浏览(35)
  • Spring Boot入门(09):如何使用MyBatis的XML配置方式实现MySQL的增删改查操作?

            想要快速高效地开发Java Web应用程序,选择使用Spring Boot和MyBatis无疑是明智之举。本篇文章将教你使用MyBatis的XML配置方式,结合MySQL数据库,实现常见的增删改查操作,让你的应用程序更加实用和强大。跟随本文一起来探索MyBatis在Spring Boot中的力量吧!        

    2024年02月11日
    浏览(67)
  • Mybatis注解开发---增删改查

    目录 (1)insert测试方法 (2)delete测试方法 (3)update测试方法 (4)select测试方法  一定要记得注册映射

    2024年02月08日
    浏览(40)
  • Spring Boot+Mybatis实现增删改查接口开发+测试(超详细建议收藏)

    Java也是测试必知必会的内容,特别是现在类似spring boot 等Java框架更是成为主流。之前实现的图书增删改查是用Python实现的,没看过的请移步:Flask+mysql 实现增删改查接口开发+测试(图文教程附源码),本次给大家带来用Java实现的后端接口版本,并根据之前的项目总结有做一

    2024年02月03日
    浏览(50)
  • 开发实例:Spring Boot、MyBatis和Layui打造增删改查项目

    通过学习这个实例项目,我们将积累点滴技术知识和实践经验,进一步提升我们的开发能力。学习如何构建增删改查功能的完整应用,从数据库访问到前端界面的开发,涵盖了全栈开发的方方面面。此外,我们还将学会处理常见的业务逻辑和数据操作,提高编码质量和效率。

    2024年02月06日
    浏览(65)
  • Java语言开发在线小说推荐网 小说推荐系统 基于用户、物品的协同过滤推荐算法 SSM(Spring+SpringMVC+Mybatis)开发框架 大数据、人工智能、机器学习开发

    1、开发工具和使用技术 MyEclipse10/Eclipse/IDEA,jdk1.8,mysql5.5/mysql8,navicat数据库管理工具,tomcat,SSM(spring+springmvc+mybatis)开发框架,jsp页面,javascript脚本,jquery脚本,bootstrap前端框架(用户端),layui前端框架(管理员端),layer弹窗组件等。 2、实现功能 前台用户包含:注

    2023年04月26日
    浏览(79)
  • 【MyBatis】2、MyBatis 的动态 SQL 和增删改操作

    注意: openSession() 的参数默认值是 false (不自动提交事务) 🌼 设置新插入记录的主键(id)到参数对象中 动态 SQL 官方文档:https://mybatis.org/mybatis-3/zh/dynamic-sql.html ☆ 批量插入: 💦 批量添加的执行效率比 多次 单个添加的执行效率要高,但是无法获取到新插入的记录的主

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包