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日

相关文章

  • jsp中session过期设置及web.xml配置学习

    下面是关于“jsp中session过期设置及web.xml配置学习”的完整攻略: 1. session过期设置 1.1 什么是session过期? 在jsp开发中,session在很多场合都扮演了非常重要的角色,他可以用来存储用户的登录状态、用户浏览过的历史页面、用户购物车等等。但是,session也会因为一些原因来使其“死亡”,也就是所谓的过期失效。 1.…

    Java 2023年6月15日
    00
  • Java项目开启远程调试的方法步骤(tomcat、springboot)

    当我们遇到 Java 项目中出现奇怪的问题时,远程调试是一种非常有用的方法,它可以帮助我们定位问题并解决它。在这里,我们将讨论如何在 Tomcat 和 Spring Boot 中开启 Java 项目的远程调试。 开启 Tomcat 远程调试 步骤 1:修改 Tomcat 启动脚本 找到你的 Tomcat 安装路径下的 bin 目录,打开 catalina.s…

    Java 2023年5月19日
    00
  • 数据库连接超时java处理的两种方式

    关于“数据库连接超时java处理的两种方式”的攻略,我将在文本中用 markdown 格式详细解释以下两种处理方式,同时提供两条示例。 方式一:设置连接超时时间 背景 当我们在使用Java连接数据库的时候,因为某些原因,比如SQL语句太复杂,或者网络连接不稳定等原因,可能导致连接超时,程序无法正常执行。为了解决这个问题,我们可以设置连接超时时间,当等待一段时…

    Java 2023年5月20日
    00
  • Struts2学习手册之文件上传基础教程

    我们来详细讲解一下《Struts2学习手册之文件上传基础教程》的完整攻略。 一、文件上传概述 文件上传是网络应用程序的一种常见需求,它允许用户在Web页面中上传文件到服务器,如上传图片、音频、视频等资源文件。在Struts2中,文件上传是通过使用单独的拦截器来实现的,即Struts2中提供的FileUploadInterceptor拦截器。 二、文件上传详解…

    Java 2023年5月20日
    00
  • Mybatis表的关联查询详情

    您想了解“Mybatis表的关联查询详情”的完整攻略,以下是详细介绍。 Mybatis表的关联查询详情 在实际开发中,一个业务往往需要从多张表中查询数据并进行关联,这时候就需要使用表的关联查询。在 Mybatis 中,我们通常使用 XML 映射文件来实现表的关联查询。 一对一关联查询 一对一关联查询就是在两张表中建立一个一对一的关系,并且查询的两张表有主从关…

    Java 2023年5月20日
    00
  • 快速排序的原理及java代码实现

    下面我来详细讲解一下“快速排序的原理及Java代码实现”的完整攻略。 1. 快速排序的原理 快速排序是一种常见的排序算法,其基本思想是:选择一个基准元素,将待排序序列分成两个子序列,使得左边的子序列元素都小于等于基准元素,右边的子序列元素都大于等于基准元素,然后递归地对子序列进行排序,直到整个序列有序。 具体的实现过程如下: 从待排序序列中选择一个基准元素,…

    Java 2023年5月19日
    00
  • Java实现手写自旋锁的示例代码

    下面我将详细讲解“Java实现手写自旋锁的示例代码”的完整攻略,具体过程如下: 1. 了解自旋锁的概念和实现原理 自旋锁是一种轻量级锁,适用于同步的代码执行时间很短暂的情况。自旋锁的实现方式是在进入临界区之前,线程不断的尝试占用锁资源,而不是去睡眠等待。当锁已经被占用时,其他线程会处于忙等待的状态,消耗了一定的CPU时间,但是相对于线程被唤醒后重新竞争锁需要…

    Java 2023年5月19日
    00
  • 生成无限制的微信小程序码的示例代码

    生成无限制的微信小程序码需要通过调用微信开发者工具的接口实现。下面是详细的步骤: 1. 开启开发者工具服务器功能 在微信开发者工具的顶栏中点击“设置”按钮,在弹出的设置页面中开启“开发者工具服务”,如果之前没有设置安全域名,开启之后需要先设置安全域名。 2. 获取 session_key 调用 wx.login() 方法获取 code,然后通过以下方式获取 …

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