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 >= #{beginPlanTime} </if>
<if test="endPlanTime != null"> AND t.plan_time <= #{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>