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 . 修改全局配置
mybatis.type- aliases- package=com.wcc.springboot.dao
mybatis.mapper- locations=classpath: mapping/*.xml
spring.datasource.username=root
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 = 7665899841009110440 L;
private int tid;
private String tname;
private int age;
}
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;
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
@ComponentScan ( basePackages = { "com.wcc.springboot" } )
@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) ;
}
}