脚本之家

电脑版
提示:原网页已由神马搜索转码, 内容由www.jb51.net提供.
您的位置:首页软件编程java→ Springboot整合Mybatis

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实现左旋转字符串,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
      2019-03-03
    • 这篇文章主要介绍了Netty分布式ByteBuf使用的回收逻辑剖析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
      2022-03-03
    • 这篇文章主要介绍了彻底搞明白Spring中的自动装配和Autowired注解的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
      2021-09-09
    • 这篇文章主要介绍了IDEA无法使用终端terminal问题的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
      2023-09-09
    • ZooKeeper是一个树形目录服务,其数据模型和Uiix的文件目录树很类似,拥有一个层次化结构,这篇文章主要介绍了ZooKeeper命令及JavaAPI操作代码,需要的朋友可以参考下
      2023-03-03
    • 这篇文章主要为大家分享了最有价值的三道java面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
      2021-07-07
    • Spring Boot作为Java领域最为流行的快速开发框架之一,其核心特性之一就是其强大的自动配置机制,下面这篇文章主要给大家介绍了关于Spring Boot自动配置源码的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
      2024-08-08
    • 有时候,我们的数据是带有层级的,比如常见的省市区三级联动,就是一层套着一层。而我们在数据库存放数据的时候,往往是列表形式的,这个时候可能就需要递归处理为树形结构了。本文就为大家介绍了Java利用递归实现树形结构的工具类,希望对大家有所帮助
      2023-03-03
    • 这篇文章主要介绍了BigDecimal divide除法除不尽报错的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
      2022-06-06
    • 这篇文章主要介绍了JVM系列之:再谈java中的safepoint说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
      2020-09-09

    最新评论