zoukankan      html  css  js  c++  java
  • springboot整合mybatis

    有两种方式:一种是配置文件,另一种是注解

    一、使用配置文件:

    1.写dao接口:

    @Mapper
    public interface EmployeeMapper {
        public Employee getEmpById(Integer id);
        public void insertEmp(Employee emp);
    }
    

      注:这里使用了@Mapper注解,这样操作每一个接口都要使用@Mapper注解,所以也可以直接在springboot启动类上使用@MapperScan(value="com.atguigu.mapper"),如下:

    @MapperScan(value = "com.atguigu.mapper")//这里就是扫描了所有dao接口所在的文件夹路径
    @SpringBootApplication
    public class SpringbootMybatisApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SpringbootMybatisApplication.class, args);
        }
    
    }

    2.创建mybatis的全局配置文件

    下面是文件目录

    配置文件内容如下:

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE configuration
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
        <settings>
            <!--开启驼峰命名法-->
            <setting name="mapUnderscoreToCamelCase" value="true"/>
        </settings>
    </configuration>
    

    3.配置mybatis的映射文件

    文件目录如下:

    映射文件内容如下:

    <?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="com.atguigu.mapper.EmployeeMapper"><!--namespace是dao映射接口的全路径-->
        <!--
        public Employee getEmpById(Integer id);
        public void insertEmp(Employee emp);
        -->
        <select id="getEmpById" resultType="com.atguigu.bean.Employee"><!--id是dao接口底下的方法名称,resultType表示返回值类型-->
            SELECT * FROM employee WHERE id=#{id}
        </select>
    
        <insert id="insertEmp">
            insert into employee (lastName,email,gender,d_id)values (#{lastName},#{email},#{gender},#{dId})
        </insert>
    </mapper>

    4.在springboot配置文件(application.yml或application.properties)中配置mybatis,下面以application.yml为例:

    mybatis:
      #配置mybatis的全局配置文件
      config-location: classpath:mybatis/mybatis-config.xml
      #配置mybatis的映射文件
      mapper-locations: classpath:mybatis/mapper/*.xml

    二、使用注解的方式

    1.开启驼峰命名法

    package com.atguigu.config;
    
    import org.mybatis.spring.boot.autoconfigure.ConfigurationCustomizer;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    public class MyBatisConfig {
        //开启驼峰命名法
        @Bean
        public ConfigurationCustomizer configurationCustomizer(){
            return new ConfigurationCustomizer(){
                @Override
                public void customize(org.apache.ibatis.session.Configuration configuration) {
                    configuration.setMapUnderscoreToCamelCase(true);
                }
            };
        }
    }
    

    2.写dao接口,并且直接在接口上面写sql语句加上注解

    package com.atguigu.mapper;
    
    import com.atguigu.bean.Department;
    import org.apache.ibatis.annotations.*;
    
    //@Mapper和@ScanMapper同上
    public interface DepartmentMapper {
        @Select("select * from department where id=#{id}")
        public Department getDeptById(Integer id);
        @Delete("delete from department where id=#{id}")
        public int deleteDeptById(Integer id);
        @Options(useGeneratedKeys = true,keyProperty = "id")//这个注解的作用是将插入的数据的主键返回过来封装到对象之中
        @Insert("insert into department(departmentName) values(#{departmentName})")
        public int insertDept(Department dept);
        @Update("update department set departmentName=#{departmentName} where id=#{id}")
        public int editDept(Department dept);
    }
    

      

  • 相关阅读:
    C# 对 TCP 客户端的状态封装
    一个页面从输入url到页面加载完成究竟经历了些什么
    使用mvp+rxjava+retrofit加载数据
    使用mvp+rxjava+retrofit加载数据
    使用mvp+rxjava+retrofit加载数据
    使用mvp+rxjava+retrofit加载数据
    SqlServer性能检测和优化工具使用详细
    SqlServer性能检测和优化工具使用详细
    SqlServer性能检测和优化工具使用详细
    SqlServer性能检测和优化工具使用详细
  • 原文地址:https://www.cnblogs.com/wxl123/p/12532827.html
Copyright © 2011-2022 走看看