idea连接数据库实现增删改查

2023-11-14

连接数据库,在application.properties中编写代码实现数据库连接

创建Student类,编写插入到数据库里的信息,id、name等,并创建set、get、tostring方法

创建接口

创建StudentImp类实现StudentDao接口里的方法

import com.mongodb.client.result.UpdateResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component;

@Component      //标记StudentImp为一个bean,后面可以用@Autowired直接创建对象
public class StudentImp implements StudentDao {
    @Autowired
    private MongoTemplate mongoTemplate;

    @Override
    public void saveStudent(Student student) {
        mongoTemplate.save(student);
    }

    @Override
    public void removeStudent(int id) {
        Query query = new Query(Criteria.where("id").is(id));//查找其id字段的值与传入参数id相等的数据
        mongoTemplate.remove(query, Student.class);
    }

    @Override
    public Student findStudentByName(String name) {
        Query query = new Query(Criteria.where("name").is(name));
        Student student = mongoTemplate.findOne(query, Student.class);
        return student;
    }

    @Override
    public int updateStudent(Student student) {
        Query query = new Query(Criteria.where("id").is(student.getId()));
        Update update = new Update().set("name", student.getName()).set("stuno", student.getStuno());
        //更新查询返回的结果集的第一条数据
        UpdateResult result = mongoTemplate.updateFirst(query, update, Student.class);
        //更新查询到的所有结果集
        //UpdateResult all_result = mongoTemplate.updateMulti(query,update,User.class);
        if (result != null)
            return (int) result.getModifiedCount();
        else
            return 0;
    }
}

编写测试类

 SpringBootDemoApplication类不用修改我们直接运行就可以了

这是该项目的pom.xml提供给大家参考

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>springBoot_demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springBoot_demo</name>
    <description>springBoot_demo</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
      <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
       </dependency>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-freemarker</artifactId>
       </dependency>
       <dependency>
          <groupId>mysql</groupId>
          <artifactId>mysql-connector-java</artifactId>
          <scope>runtime</scope>
       </dependency>

       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-data-jpa</artifactId>
       </dependency>
       <dependency>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-thymeleaf</artifactId>
      </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

idea连接数据库实现增删改查 的相关文章

  • 【学习笔记】POST和GET的区别

    吃水不忘挖井人系列之 https mp weixin qq com s N2GStE2ksWUO yzIETTcQQ 在开撸之前吗 让我们先看一下标准答案长什么样子 w3school GET 对比 POST 标准答案很美好 但是在面试的时候
  • Chrome 快捷键大全

    从2013年开始使用 Chrome 浏览器 简洁好用 以前是用来专门科学上网 后来工作发现 Chrome 是开发必备 今天整理了一下Chrome的快捷键 有些挺常用 熟悉掌握快捷键 甚至不要鼠标就可以装逼了 标签和窗口 同个窗口新建标签 C

随机推荐

  • 【Linux】软件安装&卸载

    目录 1 notepad plus plus 2 notepadqq 3 pycharm 4 Anaconda 5 vscode 6 android ndk 7 搜狗输入法 8 卸载vmware 9 GIMP 10 git 11 llvm
  • JAVA 写Excel附件 每天定时发送邮件

    JAVA 写Excel附件 每天定时发送邮件 http hi baidu com star850323 blog item 63c5750f520e05ec37d1228d html http hi baidu com star850323
  • HBuilderX 最新安装使用教程,附详细图解,持续更新

    HBuilderX 安装使用教程 HBuilderX是HBuilder的升级版 它是是DCloud 数字天堂 推出为前端开发者服务的通用IDE 或者称为编辑器 HBuilderX的功能从下图可以直观的了解个大概 官网地址 https ask
  • Java基础总结之各个模块重要知识点

    一 对象模块 一 初始化 1 对this super 构造函数 构造代码块 静态代码块总结 this 代表当前对象 也就是所在函数所属对象的引用 this对象后面加 调用的是对象的成员变量和方法 this say this对象后面加 调用的
  • 毕业设计-基于机器视觉的甘蔗茎秆识别方法-OpenCV

    目录 前言 课题背景和意义 实现技术思路 一 总体思路 二 图像处理 三 甘蔗识别 四 结 语 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几
  • OpenCV中的图像处理

    颜色空间转换 1 基本读写操作 import cv2 import numpy as np img cv2 imread MyPic png cv2 IMREAD GRAYSCALE print img shape cv2 imwrite
  • winusb —— 不再为你的usb设备编写驱动

    blog csdn net lanmanck 曾几何时我们找工作还发现有个驱动工程师职位 月薪也不低 没接触过的人代码压根看不懂 今天可好了 如果不太追求差异化 不用驱动也能让系统与USB设备通信了 Linux就不说了 libusb很好用
  • nginx服务器启动、停止、重启

    启动nginx nginx c path to nginx conf 关闭nginx nginx s stop 快速停止nginx quit 完整有序的停止nginx 重启nginx nginx s reload 修改配置后重新加载生效 n
  • org.springframework.validation.BindException: org.springframework.

    错误信息 org springframework validation BindException org springframework validation BeanPropertyBindingResult 2 errors Fiel
  • Vue实现在页面上添加返回顶部按钮(按钮固定在页面右下角)

    从网站上下载按钮图片 我在图精灵上下载图片到项目src文件夹下的assets文件夹 并命名为topButton png 可以用本地的图片编辑软件 如画图 将按钮图片设置为像素50 50 在App vue文件夹下引入图片 为click事件设置
  • Linux内存宏,linux内核驱动宏定义

    宏符号linux内核中绝大多数初始化函数和变量都利用了各式各样的宏符号 形如 static int init pci porc init void static char version devinitdata drv name modul
  • Eclipse ADT中的logcat不显示解决方法

    1 在Eclipse界面中找到DDMS 然后找到device选项卡 在这个选项卡中选择reset adb 如果不行尝试方法2 2 不用关闭eclipse和模拟器 在Android SDK的tools目录下有个 ddms bat 批处理文件
  • index_join:

    index join index join顾名思义是对index进行关联 oracle通过hash index join的方式实现了避免对表的访问 所有的数据都从索引中直接获得 它不受查询条件影响 可以是唯一索引 也可以是多列索引 SELE
  • [Unity2D/3D]Particle System粒子系统/以实现烟雾效果为例

    Unity3D Particle System粒子系统 首先看一下效果 1 创建一个Particle System 右键Effects gt Particle System Pause暂停播放粒子效果 Restart重新播放粒子系统 Sto
  • Direct3D轮回:游戏特效之全屏泛光(Bloom)

    https www cnblogs com kenkao archive 2011 08 25 2153752 html Bloom 又称 全屏泛光 是大名鼎鼎的虚幻3游戏引擎中最通用的后期特效技术 Bloom特效的实现主要依赖于PostP
  • 用实例给新手讲解RSA加密算法

    http www cfca com cn zhishi wz 012 htm 用实例给新手讲解RSA加密算法 图为 RSA公开密钥算法的发明人 从左到右Ron Rivest Adi Shamir Leonard Adleman 照片摄于19
  • SpringMVC 框架详解

    目录 1 什么是 Spring MVC 1 1 什么是MVC 1 2 MVC 和 Spring MVC 的关系 2 第一个SpringMVC程序 2 1 RequestMapping 注解 2 2 ResponseBody 注解 2 3 g
  • opencv函数:flip函数

    flip函数是矩阵或者图像翻转 其实图像的本质也是矩阵 void flip InputArray src OutputArray dst int flipCode 参数 src 输入矩阵 dst 翻转后矩阵 类型与src一致 flipCod
  • CTS Failed 项解决

    CTS Failed 项解决 CtsWindowManagerDeviceTestCases Test android server wm MultiDisplaySystemDecorationTests testLaunchSecond
  • idea连接数据库实现增删改查

    连接数据库 在application properties中编写代码实现数据库连接 创建Student类 编写插入到数据库里的信息 id name等 并创建set get tostring方法 创建接口 创建StudentImp类实现Stu