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

yizhihongxing

下面我来详细讲解一下“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日

相关文章

  • Spring与Dubbo搭建一个简单的分布式详情

    Spring和Dubbo的组合是搭建分布式应用程序的常用方案之一。在此提供一个完整的攻略,来帮助你搭建一个简单的分布式系统。 步骤一:创建Dubbo服务提供者 1.1 首先,需要创建一个Dubbo服务提供者。这个提供者将会接收来自客户端的请求,并返回响应结果。下面是一个简单的示例代码: @Service @DubboService public class …

    Java 2023年5月31日
    00
  • 详解Java的Struts框架以及相关的MVC设计理念

    详解Java的Struts框架以及相关的MVC设计理念 什么是MVC设计模式 MVC(Model-View-Controller)是一种常见的设计模式,它将一个应用分为3种职责:模型(Model)负责数据存储与处理;视图(View)负责用户界面的显示;控制器(Controller)负责业务逻辑的处理。把系统分为3个组件使得各自的职责分明,且耦合度低。MVC的…

    Java 2023年5月20日
    00
  • JAVA 统计字符串中中文,英文,数字,空格,特殊字符的个数

    以下是统计字符串中中文、英文、数字、空格、特殊字符的个数的完整攻略。 思路分析 统计字符串中文字的个数,需要对字符串进行逐个字符的判断,判断该字符是否为中文、英文、数字、空格、特殊字符中的一种。其中,中文需要特殊处理。可以通过遍历字符串来实现。具体的流程如下: 定义变量,用于保存中文、英文、数字、空格、特殊字符的个数。 遍历字符串,对每个字符进行判断。 如果…

    Java 2023年5月26日
    00
  • Spring Boot中是如何处理日期时间格式的

    Spring Boot中处理日期时间格式主要通过在实体类中使用注解@JsonFormat来完成。@JsonFormat是Jackson中的注解,可用于序列化和反序列化Java的日期和时间类型。 以下是处理日期时间格式的详细步骤: 在实体类的日期字段上添加@DateTimeFormat注解来指定日期时间格式,例如:yyyy-MM-dd。 在实体类的日期字段上添…

    Java 2023年5月20日
    00
  • JSP Servelet 数据源连接池的配置

    JSP Servlet数据源连接池的配置需要完成以下步骤: 第一步:导入数据库驱动包 在项目中的WebContent/WEB-INF/lib目录下,将数据库驱动包导入,例如MySQL数据库的驱动包mysql-connector-java-8.0.16.jar。 第二步:在web.xml文件中配置数据源连接池 在web.xml文件中,新增以下内容: <r…

    Java 2023年6月15日
    00
  • 使用Java打印数字组成的魔方阵及字符组成的钻石图形

    下面我详细讲解一下“使用Java打印数字组成的魔方阵及字符组成的钻石图形”的完整攻略。 打印数字组成的魔方阵 思路 魔方阵是由 $n^2$ 个数字组成的方阵,其中每一行、每一列、每一条对角线上的数字之和都相等。我们可以使用以下的算法来生成 $n \times n$ 的魔方阵: 将数字 1 放在第一行的中间列。 依次将后续的数字放入前一个数字的右上角(如果已经…

    Java 2023年5月26日
    00
  • 详解DES加密算法的原理与Java实现

    我会详细讲解“详解DES加密算法的原理与Java实现”的完整攻略,并包含两条示例说明。 一、DES加密算法的原理 DES是一种分组加密算法,加密时将明文分成64位一组的大小,每组的最后一位用于存储校验位。DES总共使用16个循环轮次(每轮使用一个48位的密钥子)。第一轮会将明文分成左右两部分,右部分通过跟密钥进行一个函数F运算,F函数使得输入的较小变成较大,…

    Java 2023年5月19日
    00
  • Java图形用户界面之列表框

    下面是Java图形用户界面之列表框的完整攻略: 一、什么是列表框? 列表框(JList)是 Java Swing 组件之一,它除了能够显示列表以外,还能与其他组件协同工作,允许用户进行选择和编辑,非常适用于多项选择的情况下。 二、列表框的基本用法 1. 创建列表框 使用 JList 类创建一个列表框: JList list = new JList(); 2.…

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