栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot整合mybatis

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot整合mybatis

  • mybatis知识补充
    1.参数只有一个的话,mybatis根据下标取值,所以调用参数时可以不同名字(除参数前加@Param)
    2.代理对象:
    a.JDK动态代理:特点1(要求被代理者必须实现/有接口);特点2(由jdk默认提供)
    b.CGLIB动态代理:特点1(不管被代理者是否有接口,都可以为其创建对象,代理对象是目标对象的子类);特点2(需要手动导入jar包);特点3(spring为了方便会自动创建jar包依赖)
    c.getMapper创建对象时获取的接口字节码对象时JDK内部动态为接口生成的代理对象
    d.调用代理对象功能与接口一致
  • 框架概述
    Spring框架:
    将复杂的框架进行整合,是程序有控制到调用一体化,即整合第三方框架
    Spring框架的核心机制:
    1.IOC-DI:IOC控制反转,将对象创建对象的权利交给Spring容器,由Spring容器管理对象的生命周期;DI依赖注入,若创建对象时,有需要的属性,则由Spring负责为其赋值
    2.AOP面向切面编程
    SpringMVC框架(Controller层):
    接收请求,处理响应
  • SSM项目整合
    1.更改pom.xml
    载入mybatis,jdbc,Lombot依赖
    2. pojo层
    2.1 封装数据
package com.jt.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class User implements Serializable {
    private Integer id;
    private String name;
    private Integer age;
    private String sex;
}

3. mapper层
3.1 直接操作DB的接口

package com.jt.mapper;

import com.jt.pojo.User;
import java.util.List;

//将该接口交给Spring容器管理
//@Mapper
public interface UserMapper {
    List findAll();
}

4. mapper的xml映射文件






    
        select * from demo_user
    

5. servicer层
5.1 将mapper层获取的数据拿过来处理准备返回给controller

public interface UserService {
    List findAll();
}
@Service //将类交给Spring容器
public class UserServiceImpl implements UserService{
    @Autowired
    private UserMapper userMapper;

    @Override
    public List findAll() {
        return userMapper.findAll();
    }
}

6. controller层
6.1 将service层获取的数据返回给用户
@RestController=@ResponseBody+@Controller

@RestController
//扫描全部的mapper接口
@MapperScan("com.jt.mapper")
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping("/getUser")
    public List finduser(){
        return userService.findAll();
    }
}

7. 核心配置(mybatis和数据库的配置):
serverTimezone=GMT%2B8:指定时区为东八区
useUnicode=true&characterEncoding=utf8:开启使用Unicode解码,并且指定字符集UTF-8
autoReconnect=true:断线重连
allowMultiQueries=true:是否允许批量查询

server:
  port: 8090
  servlet:
    context-path: /
spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/jt?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&autoReconnect=true&allowMultiQueries=true
    username: root
    password: root

mybatis:
  #设置别名包
  type-aliases-package: com.jt.pojo
  mapper-locations: classpath:/mybatis/mappers/*.xml
  #开启驼峰映射
  configuration:
    map-underscore-to-camel-case: true
  • Servlet
    是Java后台程序与用户交互的媒介
    参数传递的核心规则:
@GetMapping("/findServlet")
    public String findServlet(HttpServletRequest request){
        String age = request.getParameter("age");
        Integer ageInt = Integer.parseInt(age);
        return "获取数据:"+age;
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号