SpringBoot整合SSM

SpringBoot整合SSM

1 . 导包

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-jdbc</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
		<dependency>
			<groupId>org.mybatis.spring.boot</groupId>
			<artifactId>mybatis-spring-boot-starter</artifactId>
			<version>2.1.0</version>
		</dependency>
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.1.3</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
		</dependency>
		<dependency>
			<groupId>org.projectlombok</groupId>
			<artifactId>lombok</artifactId>
			<optional>true</optional>
		</dependency>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
			<exclusions>
				<exclusion>
					<groupId>org.junit.vintage</groupId>
					<artifactId>junit-vintage-engine</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
	</dependencies>

2 . 修改全局配置

# 给java实体取别名
mybatis.type-aliases-package=com.wcc.springboot.dao
# 告诉mapper.xml文件的位置
mybatis.mapper-locations=classpath:mapping/*.xml

# 连接数据库的配置
spring.datasource.username=root
# 由于mysql驱动的版本问题,需要加一下内容  也可以调低mysal驱动的版本
spring.datasource.url=jdbc:mysql://localhost:3306/mydb_01?\
  useUnicode=true&useJDBCCompliantTimezoneShift=true&\
  useLegacyDatetimeCode=false&serverTimezone=UTC
  
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

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

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

3. 编写dao层

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Teacher implements Serializable {
    private static final long serialVersionUID = 7665899841009110440L;
    private int tid;
    private String tname;
    private int age;
}
/*
注意:一般要实现序列化  file---settings --- Editor ---inspections---搜索UID--
  选中 ---Serializable class without serialVersionUID ---apply---ok
*/

4. 编写service层

4.1 编写接口

public interface TeacherService {

    Teacher findById(int id);
}

4.2 编写实现类

@Service
@Transactional
public class TeacherServiceimpl implements TeacherService{

    @Autowired
    TeacherMapper teacherMapper;
    @Override
    public Teacher findById ( int id ) {
        return teacherMapper.findById(id);
    }
}

5. 编写Mapper接口

public interface TeacherMapper {

    Teacher findById(int id);
}

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.wcc.springboot.mapper.TeacherMapper">

    <select id="findById" resultType="com.wcc.springboot.dao.Teacher">
      SELECT * FROM  teacher WHERE tid = #{id}
    </select>
</mapper>

7 .编写controller层

7.1 编写返回结果集的基类

@RestController
@Data
@NoArgsConstructor
@AllArgsConstructor
public class ResultController {
    private int state;   //给前端返回状态码  0表示成功 1 表示失败
    private String errorMsg; //给前端返回错误信息
    private String successMsg; //给前端返回成功信息
}

7.2 编写返回的结果集

@RestController
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TeacherBaseController extends ResultController {
    private Teacher teacher;
    private List<Teacher> teachers;
}

7.3 编写控制器

@RestController
public class TeacherController {
    @Autowired
    TeacherService teacherService;
    @Autowired
    TeacherBaseController baseController;

    @RequestMapping("/findid")
    public TeacherBaseController findById(@RequestParam("id") int id){

        try {
            Teacher teacher = teacherService.findById(id);
            baseController.setState(0);
            baseController.setTeacher(teacher);
            baseController.setSuccessMsg("通过id查询老师成功");
        } catch (Exception e) {
            baseController.setState(1);
            baseController.setErrorMsg(e.getMessage());
        }
        return baseController;
    }
}

8. 编写配置文件

@SpringBootConfiguration
// spring中将加了注解的组件扫描进ioc容器中
@ComponentScan(basePackages = {"com.wcc.springboot"})
//扫描mapper接口所在的位置
@MapperScan(basePackages = {"com.wcc.springboot.mapper"})
public class AppConfig {
}

9. 编写启动文件

@SpringBootApplication
public class SpringbootssmApplication {

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

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值