SpringBoot结合Mybatis使用

springboot添加mybatis数据库依赖 springboot项目中添加mybatis依赖。 (1) springboot项目整合mybatis依赖。 (1) 创建项目时,直接勾选以下两个依赖,导入项目,即可自动添加依赖。 (2) 在pom.xml文件中,手动添加mybatis依赖。 <dependency> <groupId>org.mybatis.spring.boot</groupId&... 阅读详情

SpringBoot结合Mybatis使用

一、基础工作

  1. 在Spring Boot项目的pom.xml文件中添加依赖

    <!-- springboot:2.7.4 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- mybatis -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.2.2</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>
    
  2. 配置数据源:在application.properties(或application.yml)文件中配置数据源信息,如数据库连接URL、用户名和密码等。

    spring:
      datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://localhost:3306/yibinstore?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
        username: root
        password: root
    mybatis:
      mapper-locations: classpath:mapper/*.xml
    

二、具体使用案例

项目结构:

在这里插入图片描述

  1. 编写实体类

    @Setter
    @Getter
    @NoArgsConstructor
    @Accessors(chain = true)
    public class Order implements Serializable {
    
        /**
         * 订单id
         */
        private Integer oid;
    
        /**
         * 用户id
         */
        private Integer uid;
    
        /**
         * 收货人姓名
         */
        private String recvName;
    
        /**
         * 收货人电话
         */
        private String recvPhone;
    
        /**
         * 收货地址
         */
        private String recvAddress;
    
        /**
         * 总价
         */
        private Long totalPrice;
    
        /**
         * 状态:0-未支付,1-已支付
         */
        private Integer status;
    
        /**
         * 下单时间
         */
    
        private Date orderTime;
    
        /**
         * 支付时间
         */
        private Date payTime;
    
        /**
         * 创建人
         */
        private String createdUser;
    
        /**
         * 创建时间
         */
        private Date createdTime;
    
        /**
         * 最后修改执行人
         */
        private String modifiedUser;
    
        /**
         * 最后修改时间
         */
        private Date modifiedTime;
    }
    
  2. 创建Mapper接口和XML文件:创建一个Mapper接口,用于定义数据库操作方法,并创建对应的XML文件,用于编写SQL语句。

    • mapper文件

      @Mapper
      public interface OrderMapper {
      
          /**
           * 新增订单信息
           * @param order 订单数据
           */
          int addOrder(Order order);
      
          /**
           * 更改订单信息
           * @param oid 订单id
           * @param status 订单状态:
           *               0-未支付
           *               1-已支付
           * @param orderTime 支付时间
           */
          int updateOrder(@Param("oid") Integer oid,
              @Param("status") Integer status,
              @Param("orderTime") Date orderTime);
      
          /**
           * 查询订单
           * @param oid 订单id
           */
          Order selectOrderByOid(Integer oid);
      }
      
    • 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.aben.union.mapper.OrderMapper">
      
          <resultMap id="resultMapOrder" type="com.aben.union.entity.Order">
              <!-- 主键不可以省略,一定要写 -->
              <!-- colum:数据库中的列名  property:java类中对应的列名    相同时可以省略 -->
              <id column="oid" property="oid"></id>
              <result column="recv_name" property="recvName"></result>
              <result column="recv_phone" property="recvPhone"></result>
              <result column="recv_address" property="recvAddress"></result>
              <result column="total_price" property="totalPrice"></result>
              <result column="order_time" property="orderTime"></result>
              <result column="pay_time" property="payTime"></result>
              <result column="created_user" property="createdUser"></result>
              <result column="created_time" property="createdTime"></result>
              <result column="modified_user" property="modifiedUser"></result>
              <result column="modified_time" property="modifiedTime"></result>
          </resultMap>
      
          <insert id="addOrder" parameterType="com.aben.union.entity.Order" useGeneratedKeys="true" keyProperty="oid">
              insert into t_order(uid,recv_name,recv_phone,recv_address,total_price,
                                  status,order_time,pay_time,created_user,created_time,
                                  modified_user,modified_time)
              values(#{uid},#{recvName},#{recvPhone},#{recvAddress},#{totalPrice},
                      #{status},#{orderTime},#{payTime},#{createdUser},
                      #{createdTime},#{modifiedUser},#{modifiedTime});
          </insert>
      
          <update id="updateOrder">
              update
                  t_order
              set
                  status=#{status} and order_time=#{orderTime}
              where
                   oid=#{oid}
          </update>
      
          <select id="selectOrderByOid" resultMap="resultMapOrder">
              select * from t_order where oid=#{oid}
          </select>
      
      </mapper>
      
  3. 编写service层

    @Service
    public class OrderServiceImpl implements OrderService {
    
        @Inject
        private OrderMapper orderMapper;
    
        @Override
        public Boolean addOrder() {
            Order order = new Order();
            order.setUid(1001)
                .setRecvName("isabener")
                .setRecvAddress("四川省成都市")
                .setRecvPhone("18200000000")
                .setTotalPrice(99L)
                .setStatus(1)
                .setOrderTime(new Date())
                .setPayTime(new Date())
                .setCreatedUser("admin")
                .setCreatedTime(new Date())
                .setModifiedUser("admin")
                .setModifiedTime(new Date());
            return orderMapper.addOrder(order) == 1 ? Boolean.TRUE : Boolean.FALSE;
        }
    
        @Override
        public Boolean updateOrder() {
            return orderMapper.updateOrder(1, 0, new Date()) == 1 ? Boolean.TRUE : Boolean.FALSE;
        }
    
        @Override
        public Order selectOrderByOid() {
            return orderMapper.selectOrderByOid(1);
        }
    }
    
  4. web层调用

    @RestController
    @RequestMapping("/order")
    public class OrderController {
    
        @Inject
        private OrderService orderService;
    
        @GetMapping("/add")
        public Boolean addOrder() {
            return orderService.addOrder();
        }
    
        @GetMapping("/update")
        public Boolean updateOrder() {
            return orderService.updateOrder();
        }
    
        @GetMapping("/get")
        public Order getOrder() {
            return orderService.selectOrderByOid();
        }
    }
    
Arcgis栅格裁剪批处理工具 阅读详情

相关推荐

实战解析:在.NET中实现Dify API流式请求与响应的完整方案

本文详细解析了在.NET应用中对接Dify API时实现流式请求与响应的完整方案。针对传统后端“接收完才返回”的痛点,文章提供了基于ASP.NET Core的实战代码,通过配置HttpCompletionOption.ResponseHeadersRead和手动Flush响应流,构建高效的中转管道,确保AI回复能够像ChatGPT一样实时逐字推送到前端,显著提升用户体验。

weixin_29267307的博客 296

spring boot项目导入mybatis

MyBatis 是一个开源、轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案。

希望有志同道合的的朋友可以互相学习! 760

晶体管的 栅极gate 材料选用 多晶硅polysilicon,并采用 自对准工艺 self-aligned IC后端版图 【VLSI】

本文为了解决为什么要使用多晶硅作栅极触点的问题,先介绍了MOS管的工作原理是通过栅极上所加的电压控制漏极与源极之间电流,然后解释了栅极的材料为什么选用多晶硅,然后介绍了晶体管里栅极的自对准工艺(Self-Aligned Gate )。

Jie_MSD的博客 1万+

SpringBoot整合Mybatis

下新建名称相同的xml文件,在本例中就是java.cn.scnu.mapper.UserMapper.java -> resources.cn.scnu.mapper.UserMapper.xml。现在我们并没有指定数据源, SpringBoot 有默认的数据源,我们也可以指定使用 Druid 数据源,按照以下步骤实现。SpringBoot 版本低于2.4.3(不含)且Mysql驱动版本大于8.0时,需要在url连接串中配置时区。若想在已有项目中引入,=则在pom.xml文件中引入以下依赖即可。

weixin_62616050的博客 1329

CATIA P3 V5-6R2023在Windows 11 23H2上的稳定安装与系统级配置指南

CATIA是高端制造业核心的三维参数化设计平台,其运行依赖严格的系统底层支撑。理解CATIA的BRep几何内核原理与Windows子系统(如WSL、Hyper-V)的协同机制,是保障建模稳定性与计算精度的技术前提。CATIA Run-Time Library和OpenGL硬件加速能力共同决定了曲面重建、螺纹建模等关键操作的可靠性;而.NET Framework 3.5、VC++ 2022运行库及显卡Studio驱动的精准匹配,则构成工业软件在Win11环境落地的工程基础。本文聚焦于航空、轨交、能源等领域高频

weixin_30983353的博客 636

【RK3588开发记录】超详细的RK3588修改debug串口波特率为115200

修改RK3588的debug串口为115200

Crazydrams的博客 4805

MyBatis整合依赖及步骤

文章目录1.什么是Mybatis2.编写一个mybatis的案例2.1新建一个maven工程2.1引入mybatis的相关依赖2.3、定义个db.properties来加载数据源的信息05-03、定义个db.properties来加载数据源的信息2.4、定义核心配置文件mybatis.config.xml2.5、定义一个实体Account2.6、在resources目录新建一个mappers/AccountMapper.xml文件2.7、定义一个测试用例 1.什么是Mybatis Mybatis是orm持久

qq_32904533的博客 7419

SolidWorks速成教程P3-6【零件 | 第六节】——草图封闭轮廓&所选轮廓&厚度为零的报错

到这里,我们已经将特征成型的常用功能学完。这节我来继续讲解一下 SolidWorks中建模的一些容易忽略的问题(草图封闭轮廓&所选轮廓&厚度为零的报错)。

嵌入式阿齐Archie 5780

springboot引入mybatis

1.pom文件引入正确依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <versi...

过客的博客 9368

基于STM32、HAL库、I2C接口的姿态传感器/陀螺仪之ICM-42670-P驱动 C语言程序设计

/ 设置加速度计和陀螺仪的工作模式。// 读取加速度计和陀螺仪数据。

corlin6688的博客 1180

淘宝母婴用品数据挖掘及可视化分析研究

1. 背景介绍 在当今的电子商务时代,母婴用品市场已经成为了各大电商平台的一片蓝海。淘宝作为中国最大的电子商务平台,其上的母婴用品交易数据自然引人关注。理解这些数据,可以帮助商家更好地制定营销策略,也可以帮助消费者更好地选择产品。因此,本文将对淘宝母婴用品的数据进行深入的挖掘和分析。 1.1 电子商务的

AI天才研究院 1258

SpringBoot结合Mybatis

m0_53294821的博客 113

将 AMDP Function Implementations 讲透:从 SAP CDS View 表函数到 AMDP 方法的完整实战与最佳实践

AMDP函数实现:连接ABAP与HANA的高效桥梁 本文面向ABAP开发者,详细解析AMDP函数实现技术,帮助在SAP HANA环境中充分发挥数据库算力。核心内容包括: 技术价值:解决复杂计算场景(窗口函数、跨表聚合等)中Open SQL和CDS的局限性 两种实现类型:内部复用函数与CDS表函数实现,对比其声明规则和用途差异 关键语法要点:FOR TABLE FUNCTION绑定、只读约束、参数与返回类型自动生成机制 实战应用:以采购订单聚合为例,展示AMDP在实时报表中的性能优势 完整示例:提供基于航线数

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 386

Spring Boot学习日志二<SpringBoot 结合MyBatis读取MySQL 数据>

通过这次的作业,我了解并掌握了如何使用数据库去创建表并添加数据,并将表连接到程序中去。并且初始接触并学习到了controller、service、mapper、domain 包及对应的JAVA程序的相关知识。虽然途中遇到的两个问题花了我很长时间去解决,但是这两个问题提升了我的独立思考能力和解决问题的能力。

HUMGAMING的博客 2309

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SpringBoot 结合MyBatis读取MySQL数据实践

在本项目中,我们将实现一个简单的SpringBoot应用,该应用将结合MyBatis框架来从MySQL数据库中读取数据。输入:前端访问后端URL。输出:前端显示后端从数据库读取的数据。通过本文的实践,我们学习了如何使用SpringBoot结合MyBatis从MySQL数据库中读取数据。这是一个基础但非常重要的步骤,为后续更复杂的数据库操作打下了坚实的基础。

m0_75233747的博客 1601

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

springboot结合MyBatis中使用foreach

废话少说,直接建项目上代码 先建一个springboot web项目或者模块,目录结构如下 在pom.xml中自行加入需要的依赖,application.properties的配置如下 server.port=8888 mybatis.mapper-locations=classpath*:mapper/*Mapper.xml spring.datasource.url=jdbc:mysql:/...

qq_41210698的博客 1959

Spring boot 与 mybatis 结合

Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域 (rapid application development) 成为领导者。特点创建独立的 Spring 应用程序嵌入的...

辰景的博客 201

Spring Boot 结合 Mybatis

Spring Boot 结合 Mybatis 首先在ECLIPSE里面下载插件 Help–&amp;gt;Eclipse Markeplace 下载完成重启后,建Spring boot项目 选择Spring Starter Project 这里的8代表jdk1.8版本 这里是你建项目需要点什么依赖可以勾选添加 .properties 后缀改成yml ...

WRovo_的博客 216

SpringBoot结合MyBatis 【超详细】

Spring Boot与MyBatis框架集合实践。内置MyBatis大部分使用技巧,而Spring Boot起到个快速入门的效果。其中MyBatis内容涉及到业务层与数据访问层的传参知识、企业常用的动态SQL拼接、高级映射及延迟加载、以及缓存机制、最后包括PageHelper分页插件

m0_65563175的博客 12万+

springboot结合mybatis

1. 创建一个springboot项目(博主此次由于连不上springboot官网,所以使用阿里云地址) 2. 最终项目结构如下: 3. 各文件内容 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc.

初阶农民工的博客 180

springboot 分页查询参数_springboot结合mybatis使用pageHelper插件进行分页查询

1、pom相关依赖引入org.springframework.bootspring-boot-starter-weborg.mybatis.spring.bootmybatis-spring-boot-starter2.0.0mysqlmysql-connector-javaruntimeorg.springframework.bootspring-boot-starter-testtestcom...

weixin_39712705的博客 350

springboot结合mybatis使用多数据源的方式

至此方式一解决了不同库数据同步问题,但是有个问题需要考虑 ,示例是写一张表,如果写入成百上千张表呢,mapper是不是要double,这里采用动态路由的方式切换数据源,如下。测试结果跟上面一致,但是还会有一个问题:动态切换数据源在表很多的前提下还是会增大系统开销,浪费系统资源。bank2中目前是空的。

一步一个脚印_binding 1713

spring:springboot结合mybatis

springboot+Mybatis

分享前端开发工程师的一些日常生活、前端知识点、职业发展、对一些问题的看法、感悟等等 1156

MyBatis:SpringBoot结合MyBatis、MyBatis插件机制的原理分析与实战

一般开源框架都会留一个口子去让开发者自行扩展,从而完成逻辑增强,比如说Spring框架里的接口,开发者实现它可以在对象初始化前后做一些操作;再比如Spring Cloud框架里的接口,开发者实现它可以做服务配置的外部加载;MyBatis同样留了拓展点,Mybatis留的拓展点我们通常称为Mybatis的插件机制,其实从本质上来说它就是一个拦截器,是JDK动态代理和责任链设计模式的结合而出的产物。前面也说到了MyBatis插件本质上是一个拦截器,那么它能拦截哪些类和哪些方法呢?

weixin_51360020的博客 1173

SpringBoot结合Mybatis读取MySQL数据库

Select 查询id属性是与 Java 接口中方法相对应的标识符。属性定义了传递给 SQL 语句的参数类型。resultMap属性引用了结果映射。</select>Insert 插入</insert>Update 更新</update>Delete 删除</delete>

weixin_65702315的博客 2479

mybatis里面mysql驱动包_入门Springboot结合mybatis做简单接口

❝目前已经入职公司一周时间了,最近因为京东准备618大促,也没有很多的开发时间,实习生基本也是比较闲的,遂开始学习新的技术。❞01 前言由于我是从事前端开发的,大部分的时间都是与用户这方面打的交道,自己也是比较满足现在的情况。但是最近公司也是比较缺人手,后端人员也是比较繁忙,所以在leader的建议之下,我开始后端的知识学习。在之前的总结方法学习上,我用三步法来快速入门一门新的技术。现在...

weixin_39541750的博客 467

Springboot结合mybatis分页插件pagehelper使用

Springboot结合mybatis分页插件pagehelper使用 Springboot+Maybatis 数据库:mysql 前端:easyUI+thymeleaf 一、首先,准备工作 导入依赖 <!--mybatis分页插件--> <dependency> <groupId>com.github.pagehelper</groupId&g...

weixin_43849543的博客 353
上一篇: Spring AOP整合自定义注解
下一篇: Redis的过期键的删除策略
Isabener
博客等级 码龄6年 31粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值