IDE 之 SpringBoot 模块化整合+Mybatis

SpringBoot整合MyBatis报SqlSessionFactoryBean未找到问题解析 在Java企业级开发中,ORM框架与Spring生态的整合是关键技术环节。MyBatis作为主流持久层框架,通过SqlSessionFactoryBean实现与Spring容器的无缝集成,其核心原理是FactoryBean机制和自动配置。当出现ClassNotFound异常时,往往涉及依赖管理、版本兼容等工程实践问题。本文以SqlSessionFactoryBean加载失败为切入点,深入分析MyBatis-Spring整合机制,提供从基础依赖配置到多模块项目管理的系统解决方案,特别适合处理SpringBoo 阅读详情

话不多说直接上干货。这里我们整合四个模块

common 

dao

service

web

一、新建父工程,File 新建项目,选择Spring项目

点击下一步填写项目信息

点击下一步选择项目需要的依赖(根据自己需要的选择)

新建项目后删除以下目录,只保留xml、iml、.gitignore

这里注意的是 父项目中的打包方式为pom

到此为止、以上就建好了父工程。

二、新建子工程

点击项目根目录,选择新建子模块bree-common

选择maven,点击下一步

模块名字用-分割,增加可读性

新建bree-dao、bree-service、bree-web步骤和新建common的步骤一样。

三、添加springboot运行入口

在bree-web目录下新建目录 com.hwkj.bree,添加运行类

这个@SpringBootApplication注解是依赖spring-boot-starter-web,所以我开头在创建父项目中引入了这个依赖

 

添加controller包,新建测试类

@RestController
public class demoController {

    @RequestMapping("/test")
    public String test(){
        return "你好啊,spring boot!!!";
    }
}

启动项目,在浏览器访问http://localhost:8080/test

说明:controller的包需要放到Applicant类的同一级包,或者子包中,当然也可去手动修改这个扫描包的路径,这里只说明我的问题,这里不放到一起,会提示包不存在,无法启动

 

以上我们就配置好了spring boot的启动类,下面我们来配置各模块的pom文件,让各模块相互关联。

 

四、在子模块中添加各个子模块的依赖

 

在bree-dao中添加bree-common依赖

<dependencies>
    <dependency>
        <groupId>com.hwkj</groupId>
        <artifactId>bree-common</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>

在bree-service中添加bree-dao依赖

<dependencies>
    <dependency>
        <groupId>com.hwkj</groupId>
        <artifactId>bree-dao</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>

在bree-web添加bree-service依赖

<dependencies>
    <dependency>
        <groupId>com.hwkj</groupId>
        <artifactId>bree-service</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </dependency>
</dependencies>

到此,我们配置完了各模块的关联

五、添加各个实体类和接口测试

1.先在bree-common中新建com.hwkj.bree.common包,在包下新建实体类

2.在bree-dao中新建com.hwkj.bree.dao包进行数据库处理

上面这两个模块是操作数据库的,我们先不配置,下面再说

3.在bree-service中新建com.hwkj.bree.service和com.hwkj.bree.service.impl包,处理业务

package com.hwkj.bree.service;
public interface demoService {
    public String test();
}
package com.hwkj.bree.service.impl;
@Service
public class demoServiceImpl implements demoService {

    @Override
    public String test() {
        return "模块调用";
    }


}

4.在bree-web中的controller添加测试方法;

@RestController
public class demoController {
    @Autowired
    private demoService service;
    @RequestMapping("/test")
    public String test(){
       // return "你好啊,spring boot!!!";
        return service.test();
    }
}

还是在浏览器访问http://localhost:8080/test

 

六,接下来我们整合mybatis

1、在父类中引入mybatis和mysql的包

 

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.34</version>
        </dependency>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>

2、在com.hwkj.bree.common包下新建实体类,并生成get和set

package com.hwkj.bree.common;

import java.io.Serializable;
import java.util.Date;

public class demoEntity implements Serializable {
    private static final long serialVersionUID = -1764514095260116666L;
    /*
     * 交费单ID
     * */
    private String billOrderID;
    /*
     * 交费单姓名
     * */
    private String personName;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public String getBillOrderID() {
        return billOrderID;
    }

    public void setBillOrderID(String billOrderID) {
        this.billOrderID = billOrderID;
    }

    public String getPersonName() {
        return personName;
    }

    public void setPersonName(String personName) {
        this.personName = personName;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    /*
     * 交费单证件号
     * */
    private String idNumber;

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /*
     * 应交金额
     * */
    //  private BigDecimal payAmt;
    /*
     * 交费单创建时间
     * */
    private Date createTime;
}

3、在bree-dao模块中新建Mapper文件和调用的接口,mapper需要放到resources目录下,不然会扫描不到

package com.hwkj.bree.dao;

import com.hwkj.bree.common.demoEntity;
import org.springframework.stereotype.Repository;

@Repository
public interface demoMapper {
    public demoEntity getById(String id);
}

demoMapper.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/hwkj/bree/dao/demoMapper">
    <!--    <sql id="base_column">
            billOrderID,personName,idNumber,payAmt,createTime
        </sql>-->

    <select id="getById" resultType="com.hwkj.bree.common.demoEntity" parameterType="string">
        SELECT *
        FROM billOrder
        WHERE billOrderID = #{billOrderID}
    </select>

</mapper>

4、在Applicant启动类上添加扫描mapper路径

5、添加application.yml配置文件,需要添加到bree-web的resource目录下

#mysql配置
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/springboot?useUnicode=true&characterEncoding=UTF-8&useSSL=false
    password: root
    username: root

 #mybatis配置
mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.hwkj.bree.common

#配置输出sql日志
logging:
  level:
    com.hwkj.bree.dao: DEBUG #将输出日志包的模式设置为DEBUG

6、然后我们在controller中和service\serviceImpl、dao中写调用的函数

 

 

 

 

 

在浏览器访问http://localhost:8080/getByID返回表中的数据

 

到此,我们已经完成整合

springboot整合mybatis,pagehelper 文章目录1、springboot配置数据库连接池druid2、springboot整合mybatis3、springboot整合pagehelper 1、springboot配置数据库连接池druid 新建好一个项目后首先导入druid需要的pom依赖: <dependency> <groupId>com.alibaba</groupId&gt... 阅读详情

相关推荐

sqlserver整合SpringBoot2.0+MyBatis

Hello,大家好,我是Steafan,今天为大家带来SpringBoot2.0.7和SqlServer数据库以及MyBatisORM框架之间的整合 一、依赖整合 本片博文采用的各依赖版本如下: SpringBoot 2.0.7.RELEASE MyBatis 2.1.0 SqlServer 2.1.3.RELEA...

Steafan_ 1967

如何在idea中创建一个SpringBoot项目(超详细教学)

Spring Initializr是一个Web应用,它提供了一个基本的项目结构,能够帮助我们快速构建一个基础的Spring Boot项目。当用到上面那个注解是爆红,则说明没有引入此注解依赖,我们只需要将鼠标到注解上,IDEA会提示所需依赖,我们只需点击下载即可。选择开发中用到的配置依赖包,也可以不选择,在用到时向pom里面添加对应的jar。(3)开发工具建议使用 IDEA,也可以 MyEclipse。测试方法前,我们先在配置文件里配置一下我们的启动端口。启动成功,我们可以看到我们在配置文件里更改的端口号。

比起日出,我更喜欢日落。我的意思是比起遇见你,我更喜欢与你终老 2617

手把手教你搞定Pattern Recognition期刊的LaTeX投稿(附完整模板下载与避坑指南)

本文详细指导如何在Pattern Recognition期刊上使用LaTeX进行投稿,包括模板下载、环境配置、核心排版规范及投稿材料准备。特别强调期刊对格式的严格要求,如数学符号、图像引用等细节,并提供实用技巧和避坑指南,帮助作者高效完成投稿流程。

weixin_30876945的博客 395

引入子项目依赖、集成mybatis

模仿若依框架搭建

weixin_47203903的博客 905

从零到一:Qt与PCL的跨平台开发环境搭建全攻略

本文详细介绍了从零开始搭建Qt与PCL跨平台开发环境的完整流程,涵盖Windows、Linux和macOS三大平台。重点解析了Qt5与Qt6版本选择、PCL库安装配置、VTK集成等关键技术要点,并提供跨平台CMake项目模板和常见问题解决方案,助力开发者快速构建三维点云处理应用。

weixin_29280657的博客 384

quartusII简易CPU设计

优点可以实现八种运算,数据的存取及运算都能很好的实现,上板也很成功。缺点首先由于自己知识储备的缺乏,只能实现较为简单的8种运算,也是最简单的直接寻址。其次为了方便操作,没有从外部输入数据,都是直接使用存储在存储器中的数据。后续发展后续会在此简易CPU的基础上增加一些功能对CPU进行完善,如算术运算可以考虑是补码运算,输入、输出采用存储缓冲等等,直至完整的全功能的处理器。收获通过这次实践,更熟悉Quartus软件的操作。能过更加清楚每个器件的操作,比如计数器,运算器,译码器等的实现功能。

Kong08242022的博客 3484

用idea如何搭建一个springboot项目(超级详细版本)

大家好我是小铁,一个实力与逗比的结合体 ------ 小铁 一丶springboot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。 哈哈,上面的图片很经典吧!!! 好吧!废话不多说咱们直接开始 1)点击Cr

weixin_45541795的博客 1万+

CanOpen PDO映射实战:从原理到配置的完整指南

本文详细解析了CanOpen PDO映射的原理与配置流程,从基础通信机制到实战配置步骤,涵盖禁用PDO、清空映射、逐项映射和使能PDO等关键环节。特别针对西门子G120变频器、台达伺服和倍福CX控制器等不同厂商设备,提供了具体的配置技巧和常见问题排查指南,帮助工程师快速掌握多厂商设备间的PDO通信配置。

weixin_30718391的博客 517

idea创建spring boot工程及配置

idea 创建spring boot工程及配置

喵酱 7472

深入解析Android14应用安装权限:从声明到授予的完整适配指南

本文深入解析Android14应用安装权限的适配方法,重点介绍了从权限声明到授予的完整流程。与Android13相比,Android14在权限管理机制上进行了重要调整,特别是通过AppOpsManager实现权限的对象化封装。文章详细讲解了权限声明的基础配置、Framework层适配方案、运行时权限授予方法以及常见问题排查指南,帮助开发者高效完成Android14权限适配。

o9p0q1的博客 696

一篇文章带你认识 SpringBoot

文章目录一、原有 Spring 优缺点分析二、SpringBoot 的概述 一、原有 Spring 优缺点分析 (1)Spring 的优点分析 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的 Java 对象(Plain Old Java Object,POJO)实现了EJB的功能。

南淮北安的博客 766

SpringBoot应用——项目搭建指北

SpringBoot的项目搭建、maven依赖控制

qq_45337431的博客 878

Vision 机器视觉案例 之 零件边缘缺陷检测

缺陷检测工具

机器视觉李小白的博客 1386

Springboot+Mybatis-puls整合

一、MyBatis-Plus 1.1、简介   MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在。 官网文档地址:https://mp.baomidou.com/guide/ MyBatis-Plus 特性:https://mp.baomidou.com/guide/#%E7%89%B9%E6%80%A7 1.2、使用 SpringBoot 快速使用 MyBatis-Plus (1)准备工作 需

柒七的博客 9634

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

SpringBoot——SpringBoot整合MyBatis(注解、XML配置)

目录 一、SpringBoot整合MyBatis 二、Mybatis增删改查(使用注解方式) 三、Mybatis增删改查(XML配置方式) 一、SpringBoot整合MyBatis 跳转到目录 引入依赖 <dependencies> <dependency> <groupId>org.springframework.boot&l...

Guizy 2万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【Java】SpringBoot 单体项目创建 与 整合 Mybatis-Plus

项目准备阶段: 1.创建Spring boot项目 2.整合Mybatis-plus 3.创建并推送至远程仓库

CoderSharry的博客 2768

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

SpringBoot整合Mybatis

mybatis官网 :https://mybatis.org/mybatis-3/zh/index.htmlmybatis-plus官网:https://baomidou.com/druid:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98druid-spring-boot-starter:https://github.com/alibaba/druid/tree/master/druid-spring-bo

我的技术博客 3322

springboot 整合mybatis

Spring Boot整合MyBatis是一个在Java开发中非常常见的组合,它结合了Spring Boot的简洁性和MyBatis的灵活性,为开发者提供了一个强大且易于维护的框架。以下是一个详细的整合步骤和说明,字数控制在1500字左右。

wlgsga0509的博客 929

springboot整合mybatis

注意:mybatis的版本要是3.0.3或者可以不写版本,因为在 Maven 的 pom.xml 文件中,如果你不指定某个依赖的版本号(因此,如果你不设置版本号,通常情况下会使用父 POM 或者项目自身定义的版本号。如果没有这些定义,则会使用该依赖的最新版本或默认版本。是因为mybatis版本不兼容导致,提高其版本便可,可看前面配置依赖的解释。这里使用的ider版本是2023.3.4。springboot版本是3.3。

weixin_47263611的博客 1748

springboot 整合 mybatis

文章目录整合阿里源springboot 整合 mybatisspringboot整合pagehelper 实现aop分页 整合阿里源 添加依赖: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifac...

qq_43059674的博客 276

SpringBoot使用tk.mybatis整合Mybatis

SpringBoot使用tk.mybatis整合Mybatis pom.xml <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot...

Swing 4111

SpringBoot整合mybatis框架

SpringBoot整合数据库相关框架 接下来我们要做的内容就是使用SpringBoot整合mybatis框架。 先声明一点,以下的代码块只是个人练习的小记录,确实有借鉴别的参考数据,全程自己敲打。并且代码是进行过个人的缩减修改放置。不要完全搬我的代码使用。 首先先提及整合jdbc的内容: 1、整合JDBC <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring

server643的博客 1273

SpringBoot开发(六)SpringBoot整合MyBatis

MyBatis 是一款优秀的持久层Dao框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Java实体类)映射成数据库中的记录。MyBatis 是一种轻量级的持久层框架,与 Spring Boot 集成后可以极大地提升开发效率。以下是集成的完整步骤,包括项目配置、数据库设计和基本操作。

qq_36158551的博客 993

SpringBoot整合Mybatis和MyBatisPlus

SpringBoot的版本是2.2.0 一、整合Mybatis 1-1、引入pom文件 <!-- MySQL 连接驱动依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.19</version> </depende.

小道仙的后宫 2111

springboot+mybatis+redis整合(超方便的框架)

springboot+mybatis+redis整合(超方便的框架)一、先整合springboot+mybatis(_一定要注意自己的springboot版本,去找对应版本的参考,不然坑很多~_)1、创建好springboot框架项目2、添加pom.xml的jar包依赖(所有)3、把数据库中的表建好(注意使用建表语句创建表,直接使用工具创建一直失败,PS:似乎是编码格式的问题~)4、把model里...

萝卜坑 1万+
上一篇: Java中多态 反射的理解
下一篇: 微信小程序之选择器
Java程序之猿
博客等级 码龄9年 2599粉丝 140原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值