SSM ---- 三大框架的整合
结构
1. 创建car表,准备表数据
CREATE TABLE ` car` (
` id` int ( 11 ) NOT NULL auto_increment ,
` name` varchar ( 10 ) default NULL ,
` color` varchar ( 10 ) default NULL ,
` price` double default NULL ,
PRIMARY KEY ( ` id` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8;
insert into car values ( null , 'BMW' , 'red' , 9.9 ) ;
insert into car values ( null , 'Audi' , 'white' , 6.6 ) ;
2. 创建前端页面
<! DOCTYPE html >
< html>
< head>
< meta charset = " utf-8" >
< title> SSM三大框架的整合</ title>
</ head>
< body>
< a href = " http://localhost:8080/car/get" > 点我请求服务器的资源</ a>
</ body>
</ html>
3. 创建启动类RunApp
package cn. tedu ;
import org. springframework. boot. SpringApplication ;
import org. springframework. boot. autoconfigure. SpringBootApplication ;
@SpringBootApplication
@MapperScan ( "cn.tedu.dao" )
public class RunApp {
public static void main ( String [ ] args) {
SpringApplication . run ( RunApp . class , args) ;
}
}
4. 添加依赖pom.xml
< dependency>
< groupId> mysql</ groupId>
< artifactId> mysql-connector-java</ artifactId>
< version> 8.0.23</ version>
</ dependency>
< dependency>
< groupId> org.projectlombok</ groupId>
< artifactId> lombok</ artifactId>
< version> 1.18.20</ version>
</ dependency>
< dependency>
< groupId> org.mybatis.spring.boot</ groupId>
< artifactId> mybatis-spring-boot-starter</ artifactId>
< version> 2.1.4</ version>
</ dependency>
5. 创建配置文件application.yml
spring :
datasource :
driver-class-name : com.mysql.cj.jdbc.Driver
url : jdbc: mysql: //localhost: 3306/mybatisdb? useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username : root
password : 123456
mybatis :
mapper-locations : classpath: mappers/*.xml
configuration :
map-underscore-to-camel-case : true
6. 创建pojo类
package cn. tedu. pojo ;
import lombok. AllArgsConstructor ;
import lombok. Data ;
import lombok. NoArgsConstructor ;
import lombok. experimental. Accessors ;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors ( chain = true )
@Component
public class Car {
private Integer id;
private String name;
private String color;
private Double price;
}
7. 创建CarMapper接口
package cn. tedu. dao ;
import cn. tedu. pojo. Car ;
import java. util. List ;
public interface CarMapper {
List < Car > selectAll ( ) ;
}
8.创建映射文件CarMapper.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 = " cn.tedu.dao.CarMapper" >
< select id = " selectAll" resultType = " cn.tedu.pojo.Car" >
select * from car
</ select>
</ mapper>
9. 创建CarService接口
package cn. tedu. service ;
import cn. tedu. pojo. Car ;
import java. util. List ;
public interface CarService {
List < Car > selectAll ( ) ;
}
10. 创建CarServiceImpl实现类
package cn. tedu. service. Impl ;
import cn. tedu. dao. CarMapper ;
import cn. tedu. pojo. Car ;
import cn. tedu. service. CarService ;
import org. springframework. beans. factory. annotation. Autowired ;
import org. springframework. stereotype. Service ;
import javax. annotation. Resource ;
import java. util. List ;
@Service
public class CarServiceImpl implements CarService {
@Autowired
private CarMapper carMapper;
@Override
public List < Car > selectAll ( ) {
return carMapper. selectAll ( ) ;
}
}
11. 创建CarController类
package cn. tedu. controller ;
import cn. tedu. pojo. Car ;
import cn. tedu. service. CarService ;
import org. springframework. beans. factory. annotation. Autowired ;
import org. springframework. web. bind. annotation. RequestMapping ;
import org. springframework. web. bind. annotation. RestController ;
import javax. annotation. Resource ;
import java. util. List ;
@RestController
@RequestMapping ( "car" )
public class CarController {
@Autowired
private CarService carService;
@RequestMapping ( "get" )
public List < Car > selectAll ( ) {
return carService. selectAll ( ) ;
}
}
12. 方法调用关系