Springboot整合Mybatis和SQLite的详细过程

 更新时间:2024年07月16日 10:46:30   作者:orzdh  
这篇文章主要介绍了Springboot整合Mybatis和SQLite的详细过程,本文通过图文示例相结合给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

项目目录

SQLite中的数据

maven的pom.xml导入所需要的依赖

 <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
        <dependency>
            <groupId>org.xerial</groupId>
            <artifactId>sqlite-jdbc</artifactId>
            <version>3.8.11.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>

创建SQLite需要的文件

在resources目录下创建databases.db,如下图

配置yml文件

server:
  port: 8888
spring:
  mvc:
    static-path-pattern: classpath:/**
  # 配置 Oracle
  datasource:
    driver-class-name: org.sqlite.JDBC  #数据库链接驱动
    url: jdbc:sqlite::resource:databases/data.db #数据库链接地址
    username:
    password:
    type: com.alibaba.druid.pool.DruidDataSource
# mybatis配置
mybatis:
  mapper-locations: classpath:mapper/*.xml    # mapper映射文件位置
  type-aliases-package: cn.xdedm.entity    # 实体类所在的位置
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl   #用于控制台打印sql语句
    map-underscore-to-camel-case: true

Msg类

package cn.xdedm.entity;
import java.util.HashMap;
import java.util.Map;
public class Msg {
    //状态码 10001 成功 10002失败
    private int code;
    private String msg;
    private Map<String,Object> extend=new HashMap<String,Object>();
    /**
     * 返回成功
     * @return
     */
    public static  Msg Success (){
        Msg result = new Msg();
        result.setCode(10001);
        result.setMsg("成功");
        return result;
    }
    /***
     * 返回失败
     * @return
     */
    public static  Msg fail (){
        Msg result = new Msg();
        result.setCode(10002);
        result.setMsg("失败");
        return result;
    }
    public Msg Add(String key,Object value){
        this.getExtend().put(key,value);
        return this;
    }
    public int getCode() {
        return code;
    }
    public void setCode(int code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public Map<String, Object> getExtend() {
        return extend;
    }
    public void setExtend(Map<String, Object> extend) {
        this.extend = extend;
    }
    @Override
    public String toString() {
        return "Msg{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                ", extend=" + extend +
                '}';
    }
}

User类

package cn.xdedm.entity;
import lombok.Data;
@Data
public class User {
    private Integer id ;
    private String  nickName ;
    private String  account ;
    private String  password ;
    private String  createTime;
    private Integer vaildFlag ;
}

controller类

   package cn.xdedm.controller;
import cn.xdedm.entity.Msg;
import cn.xdedm.entity.User;
import cn.xdedm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("user")
public class UserController {
    @Autowired
    private UserService userService;
    @RequestMapping("/query")
    public Msg QueryUser(@RequestBody User user){
        Msg msg=userService.QueryUser(user);
        return msg;
    }
}

service类

package cn.xdedm.service;
import cn.xdedm.dao.UserMapper;
import cn.xdedm.entity.Msg;
import cn.xdedm.entity.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
    @Autowired
    private UserMapper userMapper;
    public Msg QueryUser(User user) {
        User user_db=userMapper.QueryUser(user);
        return Msg.Success().Add("user",user_db);
    }
}

dao类

package cn.xdedm.dao;
import cn.xdedm.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
@Component
@Mapper
public interface UserMapper {
    User QueryUser(User user);
}

maper.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="cn.xdedm.dao.UserMapper">
    <select id="QueryUser" parameterType="cn.xdedm.entity.User">
        select * from passwordsystem_user where 1=1
        <if test="id !=null and id !='' or id == 0">
            and id=#{id}
        </if>
        <if test="nickName !=null and nickName !='' or nickName == 0">
            and nick_name=#{nickName}
        </if>
        <if test="vaildFlag !=null and vaildFlag !='' or vaildFlag == 0">
            and vaild_flag=#{vaildFlag}
        </if>
        <if test="account !=null and account !='' or account== 0">
            and account=#{account}
        </if>
    </select>
</mapper>

在springboot主运行程序加上MapperScan注解

package cn.xdedm;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@MapperScan("cn.xdedm.dao")
public class PasswordsystemApplication {
    public static void main(String[] args) {
        SpringApplication.run(PasswordsystemApplication.class, args);
    }
}

配置完成在postman上测试

到此这篇关于Springboot整合Mybatis和SQLite的文章就介绍到这了,更多相关Springboot整合Mybatis内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入理解Java抽象类

    深入理解Java抽象类

    这篇文章主要介绍了Java抽象类的相关资料,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-08-08
  • 详解如何在Elasticsearch中搜索空值

    详解如何在Elasticsearch中搜索空值

    这篇文章主要为大家介绍了如何在Elasticsearch中搜索空值的方法示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • java中Map遍历的四种方式总结

    java中Map遍历的四种方式总结

    Map集合遍历日常开发最常使用,下面这篇文章主要给大家总结介绍了关于java中Map遍历的四种方式,文中通过实例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友可以参考下
    2023-03-03
  • Java 轮询锁使用时遇到问题解决方案

    Java 轮询锁使用时遇到问题解决方案

    这篇文章主要介绍了Java 轮询锁使用时遇到问题解决方案,当我们遇到死锁之后,除了可以手动重启程序解决之外,还可以考虑使用顺序锁和轮询锁,但是过程也会遇到一些问题,接下来我们一起进入下面文章了解解决方案,需要的小伙伴可以参考一下
    2022-05-05
  • Java中Jackson的序列化与反序列化详解

    Java中Jackson的序列化与反序列化详解

    这篇文章主要介绍了Java中Jackson的序列化与反序列化详解,Jackson被认为是"Java JSON库"或"Java最好的JSON解析器",Jackson 还是一套用于 Java(和 JVM 平台)的数据处理工具,需要的朋友可以参考下
    2024-01-01
  • Java并发之BlockingQueue的使用

    Java并发之BlockingQueue的使用

    这篇文章主要介绍了Java并发之BlockingQueue的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Java日期相关API的基本操作总结

    Java日期相关API的基本操作总结

    大概总结一下日期相关API操作原因是对于日期的操作我们开发中还是很常见的,包括在数据库中保存日期,以及之前String类中对字符串的一些处理开发中都很常见,希望对大家有所帮助
    2022-11-11
  • springboot中使用groovy的示例代码

    springboot中使用groovy的示例代码

    Groovy就是一种继承了动态语言的优良特性并运行在JVM上的编程语言,Groovy支持动态输入,闭包,元编程,运算符重载等等语法,这篇文章主要介绍了springboot中使用groovy的相关知识,需要的朋友可以参考下
    2022-09-09
  • java构造函数的三种类型总结

    java构造函数的三种类型总结

    在本篇文章里小编给大家整理了一篇关于java构造函数的三种类型总结内容,有需要的朋友们可以学习参考下。
    2021-01-01
  • java算法题解牛客BM99顺时针旋转矩阵示例

    java算法题解牛客BM99顺时针旋转矩阵示例

    这篇文章主要为大家介绍了java算法题解牛客BM99顺时针旋转矩阵示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01

最新评论