springboot篇】九. springboot整合ssm

springboot整合ssm

中国加油,武汉加油

项目准备

  1. 创建一个springboot项目 nz1904-springboot-03-ssm
    在这里插入图片描述
  2. 加入Druid依赖
    <dependency>
    	<groupId>com.alibaba</groupId>
    	<artifactId>druid</artifactId>
    	<version>1.1.8</version>
    </dependency>
    
  3. 根据实体类自己创建数据库

1. 案例

1.1 写实体类

package com.wpj.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
    private static final long serialVersionUID = -1600505716759452386L;

    private int id;
    private String name;
    private String pwd;

}

1.2 写mapper接口

package com.wpj.mapper;

import com.wpj.pojo.User;

/**
 * 用户dao
 */
public interface UserMapper {
    /**
     * 通过id找到User
     * @param id
     * @return
     */
    User findUserById(Integer id);

}

1.3 写service及其impl

package com.wpj.service;

import com.wpj.pojo.User;

/**
 * 用户service
 */
public interface IUserService {

    /**
     * 通过id找到User
     * @param id
     * @return
     */
    User findUserById(Integer id) throws Exception;

}
package com.wpj.service.impl;

import com.wpj.mapper.UserMapper;
import com.wpj.pojo.User;
import com.wpj.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
@Transactional
public class UserServiceImpl implements IUserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public User findUserById(Integer id) {

        return userMapper.findUserById(id);
    }
}

1.4 写返回类型

package com.wpj.result;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class BaseResult {
    // 给前端返回状态
    private int status; // 0 请求失败, 1 请求成功
    // 返回错误原因
    private String errorMsg;

}
package com.wpj.result;

import com.wpj.pojo.User;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserResult extends BaseResult {

    private User user;
    private List<User> userList;

}

1.5 写controller

package com.wpj.controller;

import com.wpj.pojo.User;
import com.wpj.result.UserResult;
import com.wpj.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 用户controller
 */
@RestController
public class UserController {

    @Autowired
    private IUserService iUserService;

    @RequestMapping("/findUserById")
    public UserResult findUserById(int id){

        UserResult userResult = new UserResult();
        userResult.setStatus(0); // 默认失败

        try {
            User user = iUserService.findUserById(id);
            userResult.setStatus(1); // 成功
            userResult.setUser(user);
        } catch (Exception e) {
            // 请求失败
            userResult.setErrorMsg("通过id获取用户信息失败。" + e.getMessage());
        }

        return userResult;
    }

}

1.6 写mapper.xml

<?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.wpj.mapper.UserMapper">

    <select id="findUserById" parameterType="int" resultType="user">
        select * from user where id = #{id}
    </select>

</mapper>

1.7 写config

package com.wpj.config;

import org.mybatis.spring.annotation.MapperScan;
import org.mybatis.spring.annotation.MapperScans;
import org.springframework.boot.SpringBootConfiguration;
import org.springframework.context.annotation.ComponentScan;

@SpringBootConfiguration // 声明为配置文件
@ComponentScan(basePackages = "com.wpj")    // spring配置扫描
@MapperScan(basePackages = "com.wpj.mapper")    // mapper配置扫描
public class AppConfig {

}

1.8 写配置文件

# 给java实体取别名
mybatis.type-aliases-package=com.wpj.pojo
# 给mapper.xml文件所在的位置
mybatis.mapper-locations=classpath:mapper/*.xml

# 连接数据库的配置
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql:///nz1904-ssm
spring.datasource.username=root
spring.datasource.password=123456

# 设置链接池的类型
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

# 给应用取名字
spring.application.name=springboot-ssm

1.9 启动主启动类

package com.wpj;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

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

1.10 访问浏览器

在这里插入图片描述

2. 注意

2.1 如果数据库链接错误记得改

在这里插入图片描述

3. 包结构

在这里插入图片描述

发布了56 篇原创文章 · 获赞 11 · 访问量 4074

猜你喜欢

转载自blog.csdn.net/TheNew_One/article/details/104371400