springboot 多模块将dao(mybatis)项目拆分出去

下面我来详细讲解一下“springboot 多模块将dao(mybatis)项目拆分出去”的完整攻略。

1. 拆分dao(mybatis)项目

1.1 新建dao模块

首先,我们需要在springboot项目中新建一个单独的dao模块,用于存放mybatis相关的代码。这个模块的pom.xml文件需要引入mybatis、mybatis-spring和mysql等依赖。

<!-- 引入Mybatis和Mybatis-Spring依赖 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>${mybatis.version}</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>${mybatis-spring.version}</version>
</dependency>
<!-- 引入MySQL依赖 -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql.version}</version>
</dependency>

1.2 配置dao模块

然后,我们需要在dao模块中新建mybatis的配置文件,配置数据库连接信息、mapper扫描路径以及其他相关配置。通常我们可以在resources目录下创建一个名为mybatis的文件夹,并在里面新建一个名为mybatis-config.xml的文件,内容如下:

<configuration>
    <environments default="dev">
        <environment id="dev">
            <transactionManager type="JDBC"/>
            <dataSource type="UNPOOLED">
                <property name="driver" value="${jdbc.driver}"/>
                <property name="url" value="${jdbc.url}"/>
                <property name="username" value="${jdbc.username}"/>
                <property name="password" value="${jdbc.password}"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mapper/xxxMapper.xml"/>
        <!-- 可以添加多个Mapper -->
    </mappers>
</configuration>

其中,${jdbc.driver}、${jdbc.url}、${jdbc.username}和${jdbc.password}是从properties文件中读取的属性值,用于配置数据库连接信息。另外,mapper/xxxMapper.xml为我们的mapper配置文件路径。

1.3 编写dao代码

在dao模块中编写dao和mapper代码,在编写mapper时,需要注入SqlSessionFactoryBean,并使用@Mapper注解标注Mapper接口。具体示例如下:

@Repository
public class UserDao {
    @Autowired
    private SqlSessionTemplate sqlSessionTemplate;

    public User getUserById(int id) {
        return this.sqlSessionTemplate.selectOne("getUserById", id);
    }
}

@Mapper
@Repository
public interface UserMapper {
    User getUserById(int id);
}

1.4 完成dao模块的打包

然后,我们需要完成dao模块的打包,将其发布到本地maven仓库中。需要在dao模块的pom.xml中添加以下配置:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.2.0</version>
            <configuration>
                <finalName>${project.artifactId}-${project.version}</finalName>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <mainClass>XXX.App</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

然后执行mvn package命令,将dao模块打包成jar包。

2. 在项目中引入dao模块

2.1 引入dao模块依赖

接下来,在springboot项目中引入dao模块的依赖。需要在springboot项目的pom.xml文件中添加以下配置:

<dependency>
    <groupId>com.xxx</groupId>
    <artifactId>dao</artifactId>
    <version>1.0.0</version>
</dependency>

2.2 配置dao模块属性

在springboot项目中,我们需要在application.properties文件中添加以下属性配置:

# 数据库连接信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
jdbc.username=root
jdbc.password=root

# Dao配置信息
spring.dao.type=MYBATIS
mybatis.config=classpath:mybatis/mybatis-config.xml

其中,spring.dao.type表示使用Dao的类型,这里是MYBATIS;mybatis.config表示mybatis的配置文件路径。

2.3 编写Service代码

在springboot项目的Service层中使用@Autowired注入Dao,然后在Service中调用Dao中的方法。具体示例如下:

@Service
public class UserService {
    @Autowired
    private UserDao userDao;

    public User getUserById(int id) {
        return userDao.getUserById(id);
    }
}

2.4 启动springboot项目

最后,我们需要启动springboot项目,这样配置就完成了。启动项目后,我们可以通过调用getUserById方法来获取User对象。

至此,整个“springboot 多模块将dao(mybatis)项目拆分出去”的攻略就讲解完成了。

示例:

  1. 基于springboot和mybatis的简单用户管理系统(已拆分dao模块) https://github.com/Amber1289/springboot-mybatis-demo

  2. 基于springboot和mybatis-plus的简单用户管理系统(已拆分dao模块)https://github.com/Amber1289/springboot-mybatis-plus-demo

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot 多模块将dao(mybatis)项目拆分出去 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java中关于文件路径读取问题的分析

    下面是关于Java中文件路径读取问题的分析攻略,包括常见问题及解决办法。 问题描述 在Java程序中,读取文件时常会遇到文件路径问题。文件可能位于磁盘的不同位置,如何正确地指定文件路径是很重要的。 解决方法 在解决文件路径问题之前,先了解一下文件路径的分类。 绝对路径与相对路径 绝对路径:从磁盘根目录开始的路径,如 Windows 中的 C:\Users\z…

    Java 2023年5月19日
    00
  • springboot与springmvc基础入门讲解

    让我来为您详细讲解“springboot与springmvc基础入门讲解”的完整攻略。 简介 Spring Boot是Spring Framework的一个扩展框架,它为Spring开发者提供了更快的开发体验。Spring MVC是一个经典的MVC框架,负责接收HTTP请求并将其转换为相应的处理程序,通常由Controller和Model组成。 本文将对Sp…

    Java 2023年5月15日
    00
  • java实现大数加法(BigDecimal)的实例代码

    下面就是详细讲解“java实现大数加法(BigDecimal)的实例代码”的完整攻略: 1. 简介 在 Java 中,整数类型有其上限和下限,如果数值超出其范围,就会产生溢出,导致计算结果不正确。 为了解决这个问题,我们可以使用 BigDecimal 类型来进行大数值的加、减、乘、除运算,以确保计算的精确性。 2. 引入 BigDecimal 类 要使用 B…

    Java 2023年5月19日
    00
  • 实例讲解Java的Spring框架中的控制反转和依赖注入

    下面就来详细讲解下实例讲解Java的Spring框架中的控制反转和依赖注入的攻略: 控制反转(IoC) 控制反转是 Spring 框架的核心原则之一,它实现了松耦合的 Java 代码。控制反转的本质可以理解为:将对象创建、组装、管理的控制权交给 Spring 容器,而不是代码中硬编码实现。 可以通过以下方式来实现控制反转: 使用构造函数实现依赖注入 使用 s…

    Java 2023年5月19日
    00
  • 推荐一个可以提高生产力的在线游戏

    很久没推荐好玩的工具了,今天给家推荐一个非常有意思的游戏:Habitica Habitica除了是个游戏之外,居然还是一个生产力应用! 为什么说Habitica还是个生产力应用呢?因为它还可以帮助我们养成习惯! 通过Habitica,我们可以用它的每日目标和代办事项列表功能来跟踪和管理你的习惯 在完成任务之后,你可以以此来升级你的虚拟角色,同时解锁游戏中更多…

    Java 2023年4月25日
    00
  • spring源码阅读–aop实现原理讲解

    如果要进行 Spring 源码阅读,需要按照以下步骤去进行: 步骤一:获取 Spring 源码 访问 Spring 官方网站,找到对应版本的源码下载链接,下载源码到本地,解压缩,并用 IntelliJ IDEA 打开。 步骤二:查看 AOP 注入流程 在 Spring 中,AOP 主要功能是在不改变原有业务逻辑的情况下,向方法插入额外的处理逻辑。其中,AOP…

    Java 2023年5月19日
    00
  • 深入Java万物之母Object类详情

    深入Java万物之母Object类详情 介绍 Java中的所有类都继承自Object类并拥有它的所有方法。Object类是Java程序设计中非常重要的类,其包含的方法可以适用于所有的Java对象。本篇攻略将深入探讨Object类的细节内容。 Object类的基本方法 equals(Object obj) equals方法是用于比较两个对象是否“相等”的方法。…

    Java 2023年5月26日
    00
  • JavaIO BufferedReader和BufferedWriter使用及说明

    JavaIO BufferedReader和BufferedWriter使用及说明 在Java中,读写文件是非常频繁的操作。BufferedReader和BufferedWriter是常用的文件读写工具类。本文将详细介绍这两个工具类的使用方法及说明。 BufferedReader BufferedReader是一个用来读取字符流的缓冲区。它以一个字符输入流作…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部