SSM框架入门项目的步骤:
1.创建前端HTML网页;2.在数据库里准备表,数据;
3.创建启动类RunApp;4.创建配置文件application;
5.创建pojo类;6.创建TeacherMapper接口;7.创建TeacherService接口;
8.创建TeacherServiceImpl实现类;9.创建映射文件TeacherMapper.xml;
10.创建Teachercontroller类;11.最后进行测试
1.创建前端HTML网页
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>老师管理系统</title>
<script>
function fn(){
alert("添加成功");
}
</script>
<style>
/* 输入框 */
.b{
width: 250px;
height: 30px;
font-size: 16px;
}
/* 保存按钮 */
input[type="submit"]{
height: 30px;
width: 50px;
font-size: 15px;
border-radius: 20px;
background-color: blueviolet;
color: white;
border: blueviolet;
margin-left: 30px;
}
input[type="submit"]:hover{
background-color: pink;
}
/* 取消按钮 */
input[type="button"]{
height: 30px;
width: 50px;
font-size: 15px;
border-radius: 20px;
background-color: darkred;
color: white;
border: darkred;
margin-left: 70px;
}
input[type="button"]:hover{
background-color: blue;
}
body{
font-size: 17px;
background-color: antiquewhite;
margin-left: 500px;
}
</style>
</head>
<body>
<form method="post" action="http://localhost:8080/teacher/insert">
<table height="400px">
<tr>
<td>
<h2 style="text-align: center;">老师管理系统</h2>
</td>
</tr>
<tr>
<td>id:</td>
</tr>
<tr>
<td>
<input class="b" type="number" placeholder="请输入id"name="id" />
</td>
</tr>
<tr>
<td>名字:</td>
</tr>
<tr>
<td>
<input class="b" type="text" placeholder="请输入名字"name="name" />
</td>
</tr>
<tr>
<td>性别:(单选框)
<input type="radio" name="sex" value="男" checked="checked"/>男
<input type="radio" name="sex" value="女"/>女
</td>
</tr>
<td>
<input type="submit" value="保存"/ onclick="fn()">
<input type="button" value="取消" />
</td>
</tr>
</table>
</form>
</body>
</html>
2.在数据库里准备表,数据
3. 创建配置文件application
#SpringBoot配置mysql信息
spring:
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql:///mybatisdb?useUnicode=true&characterEncoding=utf8&useSSL=false
username: root
password: root
#SpringBoot整合Mybatis配置
mybatis:
#指定UserMapper.xml文件的位置
mapper-locations: classpath:*.xml
#开启驼峰映射
configuration:
map-underscore-to-camel-case: true
4.创建启动类RunApp
package cn.tedu;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//启动类,启动服务器,和前端进行交互
@SpringBootApplication
@MapperScan("cn.tedu.dao") //扫描dao接口文件所在的包
public class RunApp {
public static void main(String[] args) {
SpringApplication.run(RunApp.class);
}
}
5.创建pojo类,封装teacher里面的属性
package cn.tedu.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.stereotype.Component;
@Component //ioc
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true) //lombok插件 开启链式编程
//封装teacher类,把所有属性进行封装
public class Teacher {
private Integer id;
private String name;
private String sex;
}
6.创建TeacherMapper接口
package cn.tedu.dao;
import cn.tedu.pojo.Teacher;
import java.util.List;
//采用接口映射方式,对映射文件进行连接,并获取数据
public interface TeacherMapper {
//查询数据方法
List<Teacher> select();
//添加数据方法
void insert(Teacher teacher);
}
7.创建TeacherService接口
package cn.tedu.service;
import cn.tedu.pojo.Teacher;
import java.util.List;
public interface TeacherService {
//获取数据方法
List<Teacher> select();
//添加数据方法
void insert(Teacher teacher);
}
8.创建TeacherServiceImpl实现类
package cn.tedu.service;
import cn.tedu.dao.TeacherMapper;
import cn.tedu.pojo.Teacher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TeacherServiceImpl implements TeacherService {
@Autowired
private TeacherMapper teacherMapper; //和数据库的接口进行绑定,并获取方法
//查询数据方法功能
@Override
public List<Teacher> select() {
return teacherMapper.select();
}
//添加数据方法功能
@Override
public void insert(Teacher teacher) {
teacherMapper.insert(teacher);
}
}
9.创建映射文件TeacherMapper.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.TeacherMapper">
<select id="select" resultType="cn.tedu.pojo.Teacher">
SELECT * FROM teacher
</select>
<select id="insert" resultType="cn.tedu.pojo.Teacher">
INSERT INTO teacher VALUES(#{id},#{name},#{sex})
</select>
</mapper>
10.创建Teachercontroller类
package cn.tedu.controller;
import cn.tedu.pojo.Teacher;
import cn.tedu.service.TeacherService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController //接受浏览器的请求,并返回数据
@RequestMapping("teacher") //匹配的第一个路径
public class ControllerDemo {
@Autowired
private TeacherService teacherService;
//和前端进行查询数据连接
@RequestMapping("select") //匹配的第二个路径
public List<Teacher> select(){
return teacherService.select();
}
//和前端进行添加数据连接
@RequestMapping("insert")
public void insert(Teacher teacher){
teacherService.insert(teacher);
}
}
11.1.最后进行查询数据的测试,把数据库表里的数据返回给前端网页中
11.2.进行添加数据的测试,将前端网页写入的数据添加到数据库的表里
总结:
controller --写控制层代码;dao --写持久层代码;pojo --写模型层代码;
services --写业务层代码块;RunApp --写启动类的代码