Springboot集成mybatis和mysql

1、添加依赖

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.0.1</version>
        </dependency>
<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.8</version>
        </dependency>

2、编写配置文件,注意xml文件路径

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/hs_model?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: test
    type: com.alibaba.druid.pool.DruidDataSource
mybatis:
  mapper-locations: classpath:/mappers/*.xml

3、启动类,注意dao层mapper文件路径

package com.keli.bspw;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.scheduling.annotation.EnableScheduling;

import java.util.TimeZone;

@SpringBootApplication
@EnableScheduling
@MapperScan("com.keli.bspw.mapper")
@EnableFeignClients
public class BspwApplication {

   public static void main(String[] args) {
        TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"));
        SpringApplication.run(BspwApplication.class, args);
        System.out.println("启动成功");
    }

}

4、框架基本机构如下

 5、dao层接口

package com.kns.swat.dao.mysql;


import com.kns.swat.Vo.TaskQueryVo;
import com.kns.swat.dto.*;
import com.kns.swat.model.LineTask;
import com.kns.swat.model.TaskCrossConfig;
import com.kns.swat.model.TaskLinkConfig;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface LineTaskDao {
 /**
     * 新增
     * @param record
     * @return
     */
    int insert(LineTask record);

    /**
     * 编辑
     * @param record
     * @return
     */

    int replace(LineTask record);
 /**
     * 删除
     * @param taskId
     * @return
     */

    int deleteByPrimaryKey(@Param("taskId") String taskId);

    /**
     * 批量删除任务
     * @param list
     * @return
     */
    int deleteBatchByIds(List<String> list);

 /**
     * 主键查询详情
     * @param taskId
     * @return
     */

    LineTask selectByPrimaryKey(@Param("taskId") String taskId);


    /**
     * 查询
     * @param taskQueryVo
     * @return
     */

    List<LineTaskPageDto> getTaskList(TaskQueryVo taskQueryVo);

6、xml文件 ,只顾参考,和上面不对应

<?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.keli.bspw.mapper.WarnDriverMapper">
    <!--实体和数据库映射-->
    <resultMap id="BaseResultMap" type="com.keli.bspw.domain.entity.WarnDriverEntity">
        <id column="plate_no" property="plateNo" jdbcType="VARCHAR"/>
        <id column="plate_type" property="plateType" jdbcType="VARCHAR"/>
        <id column="id_card" property="idCard" jdbcType="VARCHAR"/>
        <result column="people_name" property="peopleName" jdbcType="VARCHAR"/>
        <result column="warn_status" property="warnStatus" jdbcType="VARCHAR"/>
        <result column="percentage" property="percentage" jdbcType="VARCHAR"/>
        <result column="exclude_reason" property="excludeReason" jdbcType="VARCHAR"/>
        <result column="notes" property="notes" jdbcType="VARCHAR"/>
    </resultMap>

<!--数据表基础列字段-->
    <sql id="Base_Column_List">
        plate_no,plate_type,id_card,people_name,warn_status,percentage,exclude_reason,notes
    </sql>

<!--新增sql值片段-->
    <sql id="Insert_Values_List">
        (
            #{plateNo,jdbcType=VARCHAR},#{plateType,jdbcType=VARCHAR},
            #{idCard,jdbcType=VARCHAR},#{peopleName,jdbcType=VARCHAR},
            #{warnStatus,jdbcType=VARCHAR},#{percentage,jdbcType=VARCHAR},
             #{excludeReason,jdbcType=VARCHAR},#{notes,jdbcType=VARCHAR}
        )
    </sql>

 <sql id="Foreach_Values_List">
        <foreach collection="list" item="item" index="index" separator=",">
            (
            #{item.plateNo},
            #{item.plateType},
            #{item.idCard},
            #{item.peopleName},
            #{item.warnStatus},
             #{item.percentage},
            #{item.excludeReason},
            #{item.notes}
            )
        </foreach>
    </sql>


<!--批量新增路段-->
    <insert id="insertBatch" parameterType="java.util.List">
        insert into t_test (<include refid="Base_Column_List"/>) values
        <include refid="Foreach_Values_List"/>
    </insert>


<!--批量修改路段-->
    <insert id="replaceBatch" parameterType="java.util.List">
        replace into t_test (<include refid="Base_Column_List"/>) values
        <include refid="Foreach_Values_List"/>
    </insert>

<insert id="insert" parameterType="com.kns.swat.model.LineTask">
        insert into t_test (<include refid="Base_Column_List"/>) values
        <include refid="Insert_Values_List"/>
    </insert>

<insert id="replace" parameterType="com.keli.bspw.domain.entity.WarnDriverEntity">
        replace into t_test (<include refid="Base_Column_List"/>) values
        <include refid="Insert_Values_List"/>
    </insert>

<select id="selectWarnDriver" resultMap="BaseResultMap" parameterType="java.lang.String">
        select
        <include refid="Base_Column_List"/>
        from t_test
        <where>
            <if test="plateNo != null and plateNo != ''">AND plate_no = #{plateNo}</if>
            <if test="plateType != null and plateType != ''">AND plate_type = #{plateType}</if>
        </where>
    </select>



<delete id="deleteByPrimaryKey" parameterType="java.lang.String">
        delete from t_test
        <include refid="Primary_Where"/>
    </delete>

<select id="findByPage" resultType="com.kns.swat.dto.LineTaskPageDto" parameterType="com.kns.swat.Vo.TaskQueryVo">
        select s1,s2 from t_test
<where>
            <if test="taskStatus !=null and taskStatus.size()>0">
                and t.task_status in
                <foreach collection="taskStatus" item="taskStatus" index="index" open="(" close=")" separator=",">
                    #{taskStatus}
                </foreach>
       </if>
<if test="beginPlanTime != null"> AND t.plan_time &gt;= #{beginPlanTime} </if>
            <if test="endPlanTime != null"> AND t.plan_time &lt;= #{endPlanTime} </if>
            <if test="keyWord != null and keyWord!=''"> AND (t.task_des LIKE "%"#{keyWord}"%" or l.line_name Like "%"#{keyWord}"%") </if>
</where>
    </select>



 <update id="expireTaskBatch">
        update t_test set task_status = 3  where task_id in
        <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
            #{item}
        </foreach>
    </update>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值