基于boot4j-database可以一分钟整合一个SSM项目

数据库整合包:gitee地址:https://gitee.com/lixd62/boot4j

快速引入

  1. 为方便演示,我们需要在数据库创建一个名叫bootdemo的数据库,并创建一张user表。
CREATE TABLE `user`  (
  `id` int(11) NOT NULL,
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `age` int(11) NULL DEFAULT NULL,
  `sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  `deleted` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES (1, '测试', 25, '1', '0');
  1. 使用gradle在idea中创建一个全新的空项目。image.png
  2. 引入boot4j-database依赖,刷新后就能在左侧外部库里面看到引入的包。image.png
plugins {
    id 'java'
}

group = 'com.itcm'
version = '1.0-SNAPSHOT'


// 配置仓库
repositories {
    mavenLocal()
    maven {
        url 'https://maven.aliyun.com/repository/gradle-plugin'
    }
    maven {
        url "https://maven.aliyun.com/nexus/content/groups/public/"
    }
    mavenCentral()
    gradlePluginPortal()
}


dependencies {
    implementation "com.boot4j:boot4j-core:1.0.0"
    implementation "com.boot4j:boot4j-database:1.0.0"
    testImplementation 'junit:junit:4.13.1'

    // Spring
    implementation 'org.springframework:spring-tx:5.3.23'
    implementation 'org.springframework:spring-jdbc:5.3.23'
    implementation 'org.springframework:spring-context:5.3.23'

    // YAML
    implementation("org.yaml:snakeyaml:2.0")

    // Database
    implementation 'mysql:mysql-connector-java:8.0.29'
    implementation 'com.mchange:c3p0:0.9.5.5'
    implementation 'org.mybatis:mybatis:3.5.2'
    implementation 'com.baomidou:mybatis-plus:3.5.2'
    implementation 'org.mybatis:mybatis-spring:2.0.7'

    // mybatis-plus不支持join语句,这个是网友采用lambda表达式实现的join wrapper
    implementation 'com.github.yulichang:mybatis-plus-join:1.2.4'
}

test {
    useJUnitPlatform()
}
  1. 使用插件EasyCode构建Mybatis-plus必要的dao层,entity层,service层,也可以手动创建。image.png

注意:

  1. 单独创建一个database目录存放与数据库访问相关的类,方便管理。
  2. 生成模版选MybatisPlus.
  3. 不需要生成Contoller层,因为Controller层在boot4j-Bridge模块中实现整合。
  1. 编写provider,使用spring将上一步生成的bean整合起来。
package com.itcm.bootdemo.database;

import com.boot4j.database.api.spi.AbstractDatabaseProvider;

/**
 * bootdemo数据库提供程序
 *
 * @author LiXudong
 * @date 2024/02/27
 */
public class BootdemoDatabaseProvider extends AbstractDatabaseProvider {
    public BootdemoDatabaseProvider() {
        super();
    }
}
  1. 利用SPI原理发布Provider。image.png
  2. 创建boot4j-database.properties,并填写数据源信息。以及log4j.propertiesimage.png

注意:
这个地方实际是通过spi拿到com.itcm.bootdemo.database.BootdemoDatabaseProvider类后,解析其包名层级,获取父级的父级名称作为此处的数据源名称。

  1. 编写单元测试
package com.itcm.bootdemo.database;

import com.boot4j.database.api.DatabaseBeanFactory;
import com.itcm.bootdemo.database.service.UserService;
import org.junit.Test;

public class DatabaseTest {
    @Test
    public void queryUser(){
        UserService userService = DatabaseBeanFactory.getInstance().getBean(UserService.class);
        System.out.println(userService);
    }
}
  1. 测试成功image.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开舒克的贝塔121

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值