IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Springboot 整合MyBaties、Druid、JPA并且将查询到的数据响应到前台 -> 正文阅读

[Java知识库]Springboot 整合MyBaties、Druid、JPA并且将查询到的数据响应到前台

Springboot常用的依赖

<!-- Spring Boot提供的配置处理器依赖,代码提示 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>

        <!--        web 开发场景-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</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-devtools</artifactId>
        </dependency>

        <!--    静态模板依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>


        <!--        IO 操作-->
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.6</version>
        </dependency>


        <!--        数据库连接-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!--        阿里巴巴 适配的druid数据源启动器 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>

        <!--        Spring   Data JPA启动器-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
        </dependency>

        <!--        redis 依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>

在数据库中新建一个表,student,并且加入一些数据

在这里插入图片描述

在idea中的配置文件中配置与数据库相关的信息:

配置数据库连接池Druid的相关信息:

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.initialsize=20
spring.datasource.maxactive=100
spring.datasource.minidle=10

配置本地数据库的相关信息:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/students?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
    username: root
    password: 1234

新建一个student类,与数据表的字段一一对应

package com.example.springbootstudentsystem;

import javax.persistence.Entity;
import javax.persistence.Id;
//类对应的表名
@Entity(name = "student")
public class student {
    //唯一主键
    @Id
    private Integer id;
    private String name;
    private String sex;
    private String clas;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getClas() {
        return clas;
    }

    public void setClas(String clas) {
        this.clas = clas;
    }

    @Override
    public String toString() {
        return "student{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", clas='" + clas + '\'' +
                '}';
    }
}

新建一个studentTest接口继承jpa的JpaRepository方法,然后给student类增加方法

package com.example.springbootstudentsystem;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;

import javax.transaction.Transactional;

//类上面添加注解@Repository,表示包含增删改查等功能的接口
@Repository
public interface studentTest extends JpaRepository<student, Integer>{
    //自己手写SQL代码
    @Select("select * from student where id = #{id}")
    public student getById(Integer id);
	
	//JpaRepository当中自带的方法
    public student getAllById(Integer Id);
	
	//第几个问号后面跟对应的数字
	//插入语句
	@Transactional 
	@Query(value = "insert into student values(?1,?2,?3,?4)", nativeQuery = true)
	@Modifying 
	int insertRule(int nums,int rule);
	
	//更新语句
	@Transactional
	@Query(value = "update student set name = ?1", nativeQuery = true)
	@Modifying
	public void updateCount(int count);
	
	//删除语句
	@Transactional
    @Modifying
    @Query(value = "delete from student  where id =?1",nativeQuery = true)
    int deleteId(int id);
	
	//查询
	@Transactional
	@Query(value = "select * from student")
	@Modifying
	Count selectCount();
}
//到这里,关于jpa的依赖导入和配置基本完成。这里自带很多内置的增删改查方法,不用我们自己写sql语句,直接调用即可。但是也可以自己手写SQL代码

不加@Transactional有可能会抛javax.persistence.TransactionRequiredException:异常,我是在抛异常之后才加上的。
@Transactional@Query@Modifying这三个注解都是需要的
nativeQuery = true代表使用原生sql


在这里插入图片描述

在controller访问类当中查询数据库当中的数据

package com.example.springbootstudentsystem;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;


@CrossOrigin
@Controller
public class test {

    @Autowired
    private studentTest test;

    @ResponseBody
    @RequestMapping("/test")
    public String test(){

        System.out.println(test.getById(3));
        System.out.println(test.getAllById(3));
        test.deleteId(3);
        return "大萨达";

    }

}

查询结果如下:

在这里插入图片描述
删除结果如下:
在这里插入图片描述

在这里插入图片描述

java String.valueOf()的作用

1String.valueOf(boolean b) :boolean 变量 b 转换成字符串
(2String.valueOf(char c) :char 变量 c 转换成字符串
(3String.valueOf(char[] data) :char 数组 data 转换成字符串
(4String.valueOf(char[] data, int offset, int count) :char 数组 data 中 由 data[offset] 开始取 count 个元素 转换成字符串
(5String.valueOf(double d) :double 变量 d 转换成字符串
(6String.valueOf(float f) :float 变量 f 转换成字符串
(7String.valueOf(int i) :int 变量 i 转换成字符串
(8String.valueOf(long l) :long 变量 l 转换成字符串
(9String.valueOf(Object obj) : 将 obj 对象转换成 字符串, 等于 obj.toString()

getType()函数可以判断变量的数据类型

test.java

package com.example.springbootstudentsystem;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;


@CrossOrigin
//RestController只能返回字符串
@RestController
public class test {

    @Autowired
    private studentTest test;

    @ResponseBody
    @RequestMapping("/test")
    public String test(){
		//查询到的结果是一个对象,将它转为字符串
        String a = String.valueOf(test.getById(2));
        System.out.println(a);
        return a;
    }

}

当访问对应的端口时
在这里插入图片描述

创建ajax对象获取返回的数据
在这里插入图片描述

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:29:52  更:2022-04-07 22:30:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:37:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码