spring boot整合mybatis

spring boot整合mybatis,第1张

spring boot整合mybatis

1.建议搭配使用druid数据源

https://blog.csdn.net/weixin_43785508/article/details/122282937

2.导入mybatis依赖

		
			org.mybatis.spring.boot
			mybatis-spring-boot-starter
			2.1.1
		

3.yml文件配置
这里我开启下划线转驼峰功能,让实体类名、属性名和数据库表、名字段名自动一一对应的
数据库表、名字段名命名示范:user_name
实体类名、属性名命名示范:userName

mybatis:
  mapper-locations: classpath:/static/mybatis/*Mapper.xml #使用这个路径下的xml文件
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #控制台打印sql语句
    map-underscore-to-camel-case: true #开启

4.建立实体类
(建立实体类之前数据库要有相对应的表 这里不再赘述)

package com.example.demo.pojo;

public class Employees {
    private Integer employeeId;
    private String firstName;
    private String lastName;

    public Integer getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(Integer employeeId) {
        this.employeeId = employeeId;
    }

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    @Override
    public String toString() {
        return "Employees{" +
                "employeeId=" + employeeId +
                ", firstName='" + firstName + ''' +
                ", lastName='" + lastName + ''' +
                '}';
    }
}

5.建立mapper类
这里记得加上@Mapper注解
这里我使用两种方式 一种是注解版 一种是xml版

package com.example.demo.mapper;

import com.example.demo.pojo.Employees;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

@Mapper
@Repository
public interface EmployeesMapper {
    // 获取所有人信息
    @Select("select * from employees")
    List getEmployees();

    // 通过id获得人
    @Select("select * from employees where employee_id = #{employeeId}")
    Employees getEmployeeById(Integer employeeId);

    // 通过id获得人和所属部门
    @Select("SELECT employee_id  as employeeId,first_name,last_name,department_name FROM employees e LEFT JOIN departments d on e.department_id = d.department_id WHERe employee_id = #{employeeId};")
    List> getEmployeeAndDepartmentNameById(Integer employeeId);

    //查询一条数据通过xml
    Employees getOneForXML(Integer Id);
}

xml版本还需额外的xml文件,路径放在上面的配置文件中 命名为:实体类名Mapper.xml





    
        select * from employees where employee_id = #{id}
    

    

namespace对应Mapper类路径
select_id对应Mapper类方法名
resultType对应pojo路径
parameterType参数类型
6.使用

package com.example.demo.controller;

import com.example.demo.mapper.EmployeesMapper;
import com.example.demo.pojo.Employees;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;
import java.util.Map;

@Controller
@RequestMapping("/mybatis")
public class MybatisController {
    @Autowired
    EmployeesMapper employeesMapper;

    @RequestMapping("/test1")
    @ResponseBody
    public List test1(){
        List list = employeesMapper.getEmployees();
        return list;
    }

    @RequestMapping("/test2")
    @ResponseBody
    public Employees test2(){
        Employees employee = employeesMapper.getEmployeeById(102);
        return employee;
    }

    @RequestMapping("/test3")
    @ResponseBody
    public List> test3(){
        List> list = employeesMapper.getEmployeeAndDepartmentNameById(101);
        return list;
    }

    @RequestMapping("/test4")
    @ResponseBody
    public Employees test4(){
        Employees oneForXML = employeesMapper.getOneForXML(104);
        return oneForXML;
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5695249.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-17
下一篇2022-12-17

发表评论

登录后才能评论

评论列表(0条)

    保存