Springboot整合Mybatis和SQLite

本文介绍了如何在Springboot项目中整合Mybatis和SQLite数据库,包括添加依赖、配置文件、实体类、控制器、服务层和DAO接口的实现,以及在Postman上进行测试的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目目录

在这里插入图片描述

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上测试

在这里插入图片描述

要在Spring Boot整合MyBatisSQLite,您可以按照以下步骤进行操作: 1. 添加MyBatisSQLite的依赖:在pom.xml文件中添加以下依赖项来引入MyBatisSQLite的相关功能: ``` <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.3</version> </dependency> <dependency> <groupId>org.xerial</groupId> <artifactId>sqlite-jdbc</artifactId> <version>3.34.0</version> </dependency> ``` 请确保版本号与您引用的版本相匹配。 2. 配置数据源:在application.yaml(或application.properties)文件中配置SQLite的数据源信息,包括用户名、密码、URL驱动类名。示例如下: ``` spring: datasource: username: "" password: "" url: jdbc:sqlite:src/main/resources/database/sqlite.db driver-class-name: org.sqlite.JDBC ``` 请根据实际情况填写用户名、密码数据库路径。 3. 配置MyBatis:在application.yaml(或application.properties)文件中配置MyBatis相关信息。示例如下: ``` mybatis: mapper-locations: classpath:mapper/*.xml configuration: default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler log-impl: org.apache.ibatis.logging.stdout.StdOutImpl ``` 这里配置了MyBatis的mapper文件所在路径一些其他的配置项。 4. 创建Mapper接口XML文件:根据您的数据库表结构,创建对应的Mapper接口XML文件,用于定义SQL语句映射关系。 5. 编写业务逻辑:在您的业务类中使用自动注入的Mapper接口来执行数据库操作。 这样,您就完成了Spring Boot整合MyBatisSQLite的配置使用。请注意,这只是一个简单的示例,您可以根据实际需求进行相应的配置开发。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [五、Mybatis学习实践-SpringBoot整合Mybatis实现原理](https://blog.youkuaiyun.com/pactoer/article/details/125718865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值