Spring Boot整合SSM

1. 建立表格

create table students(
id int primary key auto_increment,
name varchar(20),
age int,
birthday date,
sex enum(‘F’, ‘M’)
);

2. 建立实体

3. 建立接口:注意唯一和MyBatis不同的是,这个接口上需要加@Mapper注解

4. 为每一个接口建立映射文件,放在resources/mappers文件夹下

5. 在application.properties中加入内容

spring.datasource.url=jdbc:mysql://localhost:3306/javabook
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=scott
spring.datasource.password=tiger
mybatis.mapperLocations=classpath*😗*/mappers/*.xml

6. 测试一下持久层代码(也可以不测试)

7. 书写service层

7.1 在service层中使用@Autowired注入需要Mapper
7.2 在service层的每个实现类上加入@Service注解
7.3 在service层的每个实现类上加入@Transactional注解

8. 测试一下service层代码(也可以不测试)

9. 写controller层:在控制器层注入service层即可。

10. 写网页

JSON是一个轻量级的数据交换格式

1 tom 10

{“id”:1, “name”:“tom”, “Age”:10}

String s = “id:1,name:tom,age:10”;

1. 键值对的集合

{“tom”: 1, “jerry”: 10, “ben”: “b”, “x” : true}
键必须是字符串,值可以是字符串,数,键值对的集合,数组,true,false,null
值当中只有字符串需要加双引号,其余类型都不用再加了
{“students” : {“tom”: 1, “jerry”: 10}, “teachers” : {“ben”:10}}

2. 数组

数组一般是相同类型的集合,其元素可以是字符串,数,键值对的集合,数组,true,false,null
[1,2,3]
[“ben”, “tom”]
[{}, {}, {}]
[[], [], []]

JavaScript中是能够直接处理JSON的

Java中处理Json需要借助第三方的库

com.google.code.gson
gson
2.8.6

@Test
void contextLoads() {

  //将一个Java对象转为JSON格式的字符串传递给前台
    String json = gson.toJson(new User(1, "tom@google.com", "123456", 0, LocalDateTime.now()));
    System.out.println(json);


    //从前台收回来一个String,怎么转为Java中的对象
    User tom = gson.fromJson("{\"uId\":1,\"email\":\"tom@google.com\",\"password\":\"123456\",\"loginCount\":0,\"lastLoginTime\":{\"date\":{\"year\":2020,\"month\":8,\"day\":17},\"time\":{\"hour\":14,\"minute\":38,\"second\":22,\"nano\":877673000}}}", User.class);
    System.out.println(tom);
}

AJAX

注意:前后台交换的内容、格式都是事先约定好的

@RequestBody不要写好几个,一般情况下,如果需要从前台接受多个参数:

  1. 将这些参数封装为一个实体
    @RequestMapping("/signIn")
    public String signIn(@RequestBody User user) {
    System.out.println("*************************" + user);
    if(signInService.signIn(user))
    return “login”;
    else
    return “signIn”;
    }

  2. 使用Map
    @RequestMapping("/signIn")
    public String signIn(@RequestBody Map<String, String> param) {

     System.out.println(param);
    
     User user = new User();
     user.setEmail(param.get("email"));
     user.setEmail(param.get("password"));
     if(signInService.signIn(user))
         return "login";
     else
         return "signIn";
    

    }

@RequestMapping("/login")
@ResponseBody
public Map<String, Object> login(@RequestBody Map<String, String> param) {
User user = loginService.login(param.get(“email”), param.get(“password”));
if (user != null) {
Map<String, Object> map = new HashMap<>();
map.put(“user”, user);
map.put(“logs”, logService.showLogsByUserId(user.getuId()));
return map;
} else {
return null;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值