搭建基于SpringBoot的SSM的Maven工程

昨天把下周的代码都码完了所以近期时间比较剩余,因此今天我们来学习搭建一个简单的基于springboot的SSM(Spring + SpringMVC + Mybatis)的maven项目,使用的数据库为Mysql。好了废话不多说。开始搞起。


1 创建开关SpringBootApplication

为了创建快速。我们使用idea自带的创建SpringBoot来创建结构,当然创建普通的Web项目也是可以的。

按照图示进行选择

需要说明的是SpringBoot依赖的JDK版本为1.8及以上。
image
image
image
image

好了 我们的初始项目算是创建完成了。项目结构如下图所示,其中 SpringbootdemoApplication就是我们的开关文件

image

其实现在一个最简单的springboot项目我们已经搭建完成了。什么?不相信?,你可以运行一下SpringbootdemoApplication这个文件呀。会报你未配置dataSource,我们如下图所示进行一下配置即可完成一个最简单的springboot项目进行跑通

image
image

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database = mysql

OK 项目跑起来了。最简单的springboot项目搭建完成。结束了?不不不 我们要搭建SSM项目呀。

image

2 目录结构简单介绍

在给同学们演示如何将ssm融入到项目中之前。先和各位同学讲一下目录结构方便各位同学理解。


  • Java:这个就不用多说了。放我们写的java文件的

  • resources:SpringBoot主张无Xml配置,但是还是需要一些最基础的信息配置的,例如Sql账号密码的设置,在简洁你的账号密码还是需要你自己配置滴,它是没办法帮你自动生成的。所以一般配置文件都是放到resources下的。

  • 开关文件:SpringbootdemoApplication文件就是SpringBoot的核心开关了。

3 整合

需求:从数据库中查询出某一用户的所有信息返回给前台页面

好了,上面做了简单的声明。开始整合。还是基于开发的最基本的三层架架构进行开发。但是为了方便省略service层。
添加后的结构如下,具体解释我放在了代码的注释中

image

数据库如下

image

说明一下:博主用的阿里云的数据库所以数据是自动生成的

3.1 User
package com.conn.demo.model;


public class User {
    private Integer id;
    private String username;
    private Integer age;
    private Integer customerId;

    public User() {
    }

    public User(Integer id, String username, Integer age, Integer customerId) {
        this.id = id;
        this.username = username;
        this.age = age;
        this.customerId = customerId;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public Integer getAge() {
        return age;
    }

    public void setAge(Integer age) {
        this.age = age;
    }

    public Integer getcustomerId() {
        return customerId;
    }

    public void setcustomerId(Integer customerId) {
        this.customerId = customerId;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", age=" + age +
                ", customerId=" + customerId +
                '}';
    }
}
3.2 Mapper接口
package com.conn.demo.mapper;

import com.conn.demo.model.User;
import org.springframework.stereotype.Repository;

@Repository
public interface UserMapper {
    User selectUserByName(String name);
}

3.3 Controller
package com.conn.demo.controller;

import com.conn.demo.mapper.UserMapper;
import com.conn.demo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

//证明是controller层并且返回json
@RestController
public class UserController {
    //依赖注入
    @Autowired
    UserMapper userMapper;

    @GetMapping(value = "cs")
    public User cs() {

        //直接调用mapper,因为我们为了方便没有Service
        return userMapper.selectUserByName("罗松");
    }

}

3.4 主开关SpringBootApplication
package com.example.springbootdemo;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@SpringBootApplication
@EnableTransactionManagement//开启事务管理
@MapperScan("com.conn.demo.mapper")//用于扫描
@ComponentScan(basePackages = {"com"})
public class SpringbootdemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootdemoApplication.class, args);
    }
}

我们一般基于mybatis都是将sql写到xml配置文件中。现在我们来添加映射
image

3.5 创建Mapper映射
<?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.conn.demo.mapper.UserMapper">

    <select id="selectUserByName" resultType="User">
        SELECT * FROM user WHERE username = #{name}
    </select>
</mapper>
3.6 重点重点,不要跑项目。需要配置application.properties
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.jpa.database = mysql
#Mybatis扫描
mybatis.mapper-locations=classpath*:mapper/*.xml
#起别名。可省略写mybatis的xml中的resultType的全路径
mybatis.type-aliases-package=com.conn.demo.model

运行项目 成功!

image

关于一些注解以及一些路径的配置的解释都在代码中有很好的解释。相信各位同学如果细心阅读一定可以读懂并成功将项目跑通的。

以上观点均为本人个人理解,如有不足或错误,望指出,共同成长

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我的世界没光

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

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

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

打赏作者

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

抵扣说明:

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

余额充值