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

SpringBoot整合Mybatis

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

SpringBoot整合Mybatis

文章目录
  • 1.Mybatis补充知识
    • 1.1参数取值特殊说明
    • 1.2代理对象说明
      • 1.2.1 常见动态代理
      • 1.2.2Mapper接口说明
  • 2.三大框架整合
    • 2.1框架概述
      • 2.1.1Spring框架
      • 2.1.2Spring框架的核心机制
      • 2.2.1SpringMVC
    • 2.2框架之间的调用关系
    • 2.3项目整合实现
      • 2.2.1创建项目
      • 2.3.2编辑pom.xml文件
    • 2.4编辑核心代码
      • 2.4.1编辑User的POJO
      • 2.4.2 编辑UserMapper接口
      • 2.4.3 编辑xml映射文件
      • 2.4.4 编辑Service接口和实现类
      • 2.4.5 编辑Controller
    • 2.5 编辑核心配置

1.Mybatis补充知识 1.1参数取值特殊说明

    
        select * from dept where dept_id = #{id}
    

1.2代理对象说明 1.2.1 常见动态代理
  1. JDK动态代理
    特点:
    1.要求被代理者必须实现(有)接口
    2.JDK代理是jdk默认提供的
  2. CGLIB动态代理
    特点:
    1.不管被代理者是否有接口,都可以为其创建代理对象,代理对象是目标对象的子类
    2.cglib需要手动导入jar包
    3.spring为了创建代理对象方便,自身自动添加cglib依赖项.
1.2.2Mapper接口说明
 
    @Test
    public void testFindDeptById(){
        SqlSession sqlSession = sqlSessionFactory.openSession();
        DeptMapper deptMapper = sqlSession.getMapper(DeptMapper.class);
        System.out.println(deptMapper.getClass());
        int id = 100;
        Dept dept = deptMapper.findDeptById(id);
        System.out.println(dept);
        sqlSession.close();
    }

2.三大框架整合 2.1框架概述 2.1.1Spring框架

spring框架是为了团队开发将复杂的框架进行整合,使得程序从控制到调用浑然一体,以一种统一的方式进行调用
核心:整合第三方框架

2.1.2Spring框架的核心机制

1.IOC
控制反转:将对象创建的权利交给Spring容器管理,由Spring容器管理对象的生命周期
DI:
创建对象时,如果该对象中有需要依赖的属性,Spring负责为属性赋值.

	@RestController
	public class UserController {
		@Autowired
		private UserService userService;
	}

2.AOP面向切面编程

2.2.1SpringMVC

说明:该框架的主要作用,接收用户的请求,之后完成业务处理,最终返回响应给用户

2.2框架之间的调用关系

2.3项目整合实现 2.2.1创建项目

1.创建项目

2.选择SpringBoot版本

2.3.2编辑pom.xml文件

说明: 复制之前的项目中的pom.xml文件 格式如下



    4.0.0
    com.jt
    springboot_ssm2
    0.0.1-SNAPSHOT
    springboot_ssm2
    springboot_ssm2

    
        1.8
        UTF-8
        UTF-8
        2.4.1
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
        
            org.mybatis.spring.boot
            mybatis-spring-boot-starter
            2.2.0
        

        
        
            mysql
            mysql-connector-java
        

        
        
            org.projectlombok
            lombok
        
    

    
        
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            
        
    

    
        
            
                org.apache.maven.plugins
                maven-compiler-plugin
                3.8.1
                
                    1.8
                    1.8
                    UTF-8
                
            
            
                org.springframework.boot
                spring-boot-maven-plugin
                2.4.1
                
                    com.jt.SpringbootDemo3mybitasApplication
                
                
                    
                        repackage
                        
                            repackage
                        
                    
                
            
        
    



2.4编辑核心代码 2.4.1编辑User的POJO
package com.jt.pojo;

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

import java.io.Serializable;

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

2.4.2 编辑UserMapper接口
package com.jt.mapper;

import com.jt.pojo.User;

import java.util.List;

public interface UserMapper {
    List findAll();
}

2.4.3 编辑xml映射文件






    

2.4.4 编辑Service接口和实现类

1.编辑UserService接口

package com.jt.servic;

import com.jt.pojo.User;

import java.util.List;

public interface UserService {

    //查询user表中的所有数据
    List findAll();
}

2.编辑ServiceImpl实现类

package com.jt.service;

import com.jt.mapper.UserMapper;
import com.jt.pojo.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service //将该类交给Spring容器管理
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;//代理对象    JDK动态代理

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

2.4.5 编辑Controller
package com.jt.controller;

import com.jt.pojo.User;
import com.jt.service.UserService;
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     //@Controller 将该类交给spring容器管理 +
                    // @ResponseBody 业务返回值时,将数据转化为JSON
public class UserController {
    @Autowired
    private UserService userService;
    
    @RequestMapping("/getUser")
    public List findUser(){
        
        return userService.findAll();
    }
}

2.5 编辑核心配置
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/273195.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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