SpringBoot——spring-data-jpa01[通俗易懂]

SpringBoot——spring-data-jpa01[通俗易懂]SpringBoot——spring-data-jpa01

大家好,又见面了,我是你们的朋友全栈君。

1.引入依赖

下边是整个dao曾模块的pom文件,世界上JPA的以来只有一个,已经添加了注释

 <?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>world-address-dao</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>world-address-dao</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <artifactId>world</artifactId>
        <groupId>com.youyou</groupId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.2</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!--这里是JPA的依赖-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <version>${spring.boot.version}</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

2.配置文件

 
#配置数据源
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

#配置数据源
spring.datasource.url=jdbc:mysql://192.168.31.199:3306/world?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=root

#配置自动建表:updata:没有表新建,有表更新操作,控制台显示建表语句
spring.jpa.hibernate.ddl-auto=update
#显示执行的sql
spring.jpa.show-sql=true
#显示参数
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace

3.定义数据表实体

这里需要注意的是@Table注解中的参数是数据表的名字。

 package com.youyou.address.entity;


import lombok.Data;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 数据库实体,联系人
 */
@Data
@Entity
@Table(name = "ts_contacter")
public class ContacterEO {
    /**
     * 主键
     */
    @Id
    private String id;
    /**
     * 姓名
     */
    private String name;

    /**
     * 性别(0,女;1,男)
     */
    private String sex;

    /**
     * 年龄
     */
    private Integer age ;

    /**
     * 电话
     */
    private  String phone;

    /**
     * 地址
     */
    private String location;

    /**
     * 删除(0,未删除;1,删除)
     */
    private String dflag ;
}

4.继承JpaRepository接口

继承JpaRepository接口之后会继承过来一系列的增删改查的方法

 package com.youyou.address.dao;


import com.youyou.address.entity.ContacterEO;
import org.springframework.data.jpa.repository.JpaRepository;

public interface ContacterEORepo extends JpaRepository<ContacterEO , String> {
}

5.编写service类

这里只写了一个新增的方法用来测试。

 package com.youyou.address.service;

import com.youyou.address.dao.ContacterDao;
import com.youyou.address.dao.ContacterEORepo;
import com.youyou.address.entity.ContacterEO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Service
@Transactional
public class ContacterService {

    @Autowired
    private ContacterEORepo contacterEORepo;

    /**
     * 保存联系人
     * @param contacterEO
     */
    public void saveOne(ContacterEO contacterEO){
        contacterEORepo.save(contacterEO);
    }

}

6.controller层

 package com.youyou.address.controller;


import com.youyou.address.entity.ContacterEO;
import com.youyou.address.service.ContacterService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@Api(description = "联系人接口")
@RestController
@RequestMapping(value = "/contacter")
public class ContacterController {

    @Autowired
    private ContacterService service;

    @ApiOperation(value = "新增")
    @GetMapping("/add")
    public ContacterEO  add(ContacterEO contacterEO){
        System.out.println("添加一个联系人");

        service.saveOne(contacterEO);

        return contacterEO;
    }

    

}

触探spring-data-jpa到此结束。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106464.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vs2010中文简体版下载链接(含中文msdn)

    vs2010中文简体版下载链接(含中文msdn)昨天朋友说vs2010中文版能够下载了,自己開始还不相信,正好周末,于是就下载了试一下安装了果然是中文版,本来是msdn订阅用户才干够下载的,感谢上传的网友。文件名称cn_visual_studio

    2022年7月1日
    20
  • linux修改密码的方法_linux密码正确无法登录

    linux修改密码的方法_linux密码正确无法登录情景:Linux服务器上用户的密码被服务器管理员发现太过简单,需要重置密码。处理时为了方便记忆,就直接使用普通用户登录,修改密码时,在原密码的基础上增加一串特定的数字,结果提示不通过。例如出现错误提示”BADPASSWORD:itisbasedonyourusername”。网罗相应的资料得知:1、使用管理员帐号root怎么设置都可以,可以不受验证机制的约束。2、普通用户修改自己…

    2025年9月22日
    4
  • Onenote插件,云扩容

    Onenote插件,云扩容目录1.onenote2.插件3.云空间扩容4.onenote教程这些博主找了好久,现在一步到胃。特发布这篇文章,为后来的人指路。onenote各系列,公众号“软件管家”,有365,2016-2021系列,可正常同步。插件onetastic,直接官网免费onenoteclipper同onenotegem珍,有16版的,亲测可用于365版本。复制这段内容打开「百度网盘」APP即可获取链接:https://pan.baidu.com/s/1DtWmSRQ3cy1S6upA6DLU

    2025年10月12日
    6
  • word2vec原理总结

    word2vec原理总结CBOW与Skip-Gram模型基础:https://www.cnblogs.com/pinard/p/7160330.htmlHierarchicalSoftmax的模型:https://www.cnblogs.com/pinard/p/7243513.htmlNegativeSampling的模型:https://www.cnblogs.com/pinard/p/7249903.h…

    2022年5月17日
    40
  • 前端vue定时器_vue切换页面清除所有定时器

    前端vue定时器_vue切换页面清除所有定时器vue页面定时器的两种方式

    2025年7月29日
    2
  • CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」

    CefSharp之二–如何看懂demo中的例子,以及按照例子进行开发「建议收藏」CefSharp是做什么用的?请看前一篇文章:怎么用c#编写浏览器或者执行javascript代码?之后就是如何开发了。这个CefSharp最坑的是,还早不到文档,只能看着官方给的例子开发。项目地址那么就可以看到,带有example的都是例子。我给大家举2个例子。1.事件添加:我想让我的程序出了网页上的js代码,再额外的执行我自己写的js,怎么办呢?InitializeCom

    2022年9月19日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号