美文网首页
SpringBoot高级应用——SpringBoot整合MyBa

SpringBoot高级应用——SpringBoot整合MyBa

作者: XHHP | 来源:发表于2019-08-06 00:04 被阅读0次

    (一)、创建项目

    在这里插入图片描述 在这里插入图片描述

    (二)、基本环境搭建

         1)、导入连接池的依赖

     <!--引入druid数据源-->
            <!-- https://mvnrepository.com/artifact/com.alibaba/druid -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.1.0</version>
            </dependency>
    

         2)、数据源的基本配置

    spring:
      datasource:
        #   数据源基本配置
        username: root
        password: XHHP0913
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost:3306/mybatis3?serverTimezone=UTC
        type: com.alibaba.druid.pool.DruidDataSource
        #   数据源其他配置
        initialSize: 5
        minIdle: 5
        maxActive: 20
        maxWait: 60000
        timeBetweenEvictionRunsMillis: 60000
        minEvictableIdleTimeMillis: 300000
        validationQuery: SELECT 1 FROM DUAL
        testWhileIdle: true
        testOnBorrow: false
        testOnReturn: false
        poolPreparedStatements: true
        #   配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    #    filters: stat,wall,log4j
    #    maxPoolPreparedStatementPerConnectionSize: 20
    #    useGlobalDataSourceStat: true
    #    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
    mybatis:
      config-location:  classpath:mybatis/mybatis-config.xml
      mapper-locations: classpath:mybatis/mapper/*.xml
    
    
    #    schema:
    #      - classpath:sql/department.sql
    #      - classpath:sql/employee.sql
    
    

         3)、编写配置类

    package springboot06.config;
    
    import com.alibaba.druid.pool.DruidDataSource;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    
    /**
     * DruidConfig class
     *
     * @author Flc
     * @date 2019/6/19
     */
    @Configuration
    public class DruidConfig {
    
        @ConfigurationProperties(prefix = "spring.datasource")
        @Bean
        public DruidDataSource druid(){
            return new DruidDataSource();
        }
    }
    
    

         4)、编写Model

    package springboot06.bean;
    
    public class Employee {
    
        private Integer id;
        private String lastName;
        private Integer gender;
        private String email;
        private Integer dId;
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public void setLastName(String lastName) {
            this.lastName = lastName;
        }
    
        public void setGender(Integer gender) {
            this.gender = gender;
        }
    
        public void setEmail(String email) {
            this.email = email;
        }
    
        public void setdId(Integer dId) {
            this.dId = dId;
        }
    
        public Integer getId() {
            return id;
        }
    
        public String getLastName() {
            return lastName;
        }
    
        public Integer getGender() {
            return gender;
        }
    
        public String getEmail() {
            return email;
        }
    
        public Integer getdId() {
            return dId;
        }
    }
    
    

         5)、编写Dao层(使用@Mapper或@MapperScan)

    package springboot06.dao;
    
    import org.apache.ibatis.annotations.Mapper;
    import springboot06.bean.Employee;
    
    @Mapper
    public interface EmployeeMapper {
    
        public Employee getEmpById(Integer id);
    
        public void insertEmp(Employee employee);
    }
    
    

         6)、编写Config文件和Mapper文件

    <?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>
    
    <?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="springboot06.dao.EmployeeMapper">
        <select id="getEmpById" resultType="springboot06.bean.Employee">
            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>
    

         6)、编写其他业务层(这里简化一点,直接使用控制器调用)

    package springboot06;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import springboot06.bean.Employee;
    import springboot06.dao.EmployeeMapper;
    
    /**
     * Controller class
     *
     * @author Flc
     * @date 2019/6/20
     */
    @Controller
    public class TestController {
        @Autowired
        EmployeeMapper employeeMapper;
    
        @RequestMapping("/emp/{id}")
        @ResponseBody
        public Employee getEmp(@PathVariable("id") Integer id){
            return employeeMapper.getEmpById(id);
        }
    }
    
    
    在这里插入图片描述

    相关文章

      网友评论

          本文标题:SpringBoot高级应用——SpringBoot整合MyBa

          本文链接:https://www.haomeiwen.com/subject/uwkbdctx.html