IDEA 中创建Spring Data Jpa 项目的示例代码

 更新时间:2020年04月22日 16:20:57   作者:拾阶求上  
这篇文章主要介绍了IDEA 中创建Spring Data Jpa 项目的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、IDEA 创建工程

使用IDEA 创建工程的过程,使用文字做简单描述。

  • 选择工程类别【Spring Initializr】。
  • 设置工程的元数据【Metadata】,根据自己的情况填写即可。
  • 设置工程的依赖;在【Web】中选择“Spring Web”;在【SQL】中选中“Spring Data JPA”、“Spring Data JDBC”、“MySQL Driver”、“JDBC API”。选中的可能有些多,如果多了自己删除掉。

做完最后一步,工程就创建完成了。

PS:在配置 IEAD 中的 Maven 功能时,将“Always update snapshots” 选中,这样就会及时更新测试包,并且不缓存Maven 的错误信息。

1.1、Pom 文件中的依赖信息

<dependencies>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-data-jpa</artifactId>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-jdbc</artifactId>
 </dependency>
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</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-test</artifactId>
 <scope>test</scope>
 </dependency>
</dependencies>

二、编辑配置文件

在 resources 目录中创建配置文件:application.yml;添加数据源等信息。

spring:
 datasource:
 url: jdbc:mysql://dbserver.com:3306/user?useUnicode=true&characterEncoding=utf-8
 username: username
 password: password
 driver-class-name: com.mysql.cj.jdbc.Driver

server:
 port: 8080
 compression:
 enabled: true
 servlet:
 context-path: /

三、编写实体类

创建User的实体类 Entity/User.java(省略了getter&setter方法;如果不写的话,会对数据操作失败)。

/**
 * 使用JPA注解配置映射关系
 */
@Entity //告诉JPA这是一个实体类(和数据表映射的类)
@Table(name = "tbl_user") //@Table来指定和哪个数据表对应;如果省略,默认表名就是该类名的小写:user
public class User {
 @Id //表示这个属性是数据表中的主键
 @GeneratedValue(strategy = GenerationType.IDENTITY) //还是一个自增的主键
 private Integer id;
 @Column(name = "last_name",length = 50) //这是和数据表对应的一个列,可以定义其在数据表中的名字及长度
 private String lastName;
 @Column //省略的情况,默认列名就是属性名
 private String email;
}

使用JPA的一个好处就是,它能够根据实体类自动创建数据库表,只需简单配置几步即可:

在application.yml文件中增加(jpa 也是spring下的一个属性,所以它也是在spring这个层级下的):

jpa:
 hibernate:
 ddl-auto: update #定义数据表的生成策略。update:更新或者创建数据表结构
 show-sql: true #控制台显示sql语句

运行主程序,控制台会报错找不到对应的表,但是这实际上是正常的,去数据库看就可以发现名为tbl_user的表已经创建成功了,而且是根据实体类中的设置创建的。

四、持久层接口

JPA中有许多封装好的对数据库进行操作的方法,不需要我们再写sql语句,而是直接调用其中的方法,就可以完成对数据的操作了。而这时,持久层只需继承JpaRepository类就可以了。

/**
 * Dao/UserRepository.java
 * 继承JpaRepository来完成对数据库的操作
 * JpaRepository<T,id>,T表示要进行操作的实体类,id表示类的主键的类型
 */
public interface UserRepository extends JpaRepository<User,Integer> {
}

五、控制层

编写控制层代码来测试一下是否成功。因为没有界面,所以这边直接用@RestController注解来返回json串就好了,把持久层接口自动注入进来,直接调用其中对应的方法。

@RestController
@EnableAutoConfiguration
public class UserController {
 @Autowired
 UserRepository userRepository;

 @GetMapping("/user/{id}")
 public User getUser(@PathVariable("id") Integer id) {
 Optional<User> optional = userRepository.findById(id);
 if (optional.isPresent()) {
 User user = optional.get();
 return user;
 } else {
 return new User();
 }
 }

 @GetMapping("/user")
 public User insertUser(User user) {
 User save = userRepository.save(user);
 return save;
 }
}

六、测试

1.首先插入一条数据:

地址栏输入 :http://localhost:8080/user?lastName=zhangsan&email=aa

2、查询:

地址栏输入 :http://localhost:8080/user/1

到此这篇关于IDEA 中创建Spring Data Jpa 项目的示例代码的文章就介绍到这了,更多相关IDEA 创建Spring Data Jpa 项目内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java Graphics实现界面显示文字并换行

    Java Graphics实现界面显示文字并换行

    Java中Graphics类提供了一些基本的几何图形绘制方法,本文将利用Graphics实现界面显示文字并换行效果,感兴趣的小伙伴可以动手尝试一下
    2022-08-08
  • SpringBoot基础教程之集成邮件服务

    SpringBoot基础教程之集成邮件服务

    这篇文章主要给大家介绍了关于SpringBoot基础教程之集成邮件服务的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用SpringBoot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-07-07
  • 详解如何使用MongoDB+Springboot实现分布式ID的方法

    详解如何使用MongoDB+Springboot实现分布式ID的方法

    这篇文章主要介绍了详解如何使用MongoDB+Springboot实现分布式ID的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • SpringCloud中Eureka的配置及使用讲解

    SpringCloud中Eureka的配置及使用讲解

    Eureka 服务注册中心,主要用于提供服务注册功能,当微服务启动时,会将自己的服务注册到 Eureka Server,这篇文章主要介绍了SpringCloud中Eureka的配置及详细使用,需要的朋友可以参考下
    2023-01-01
  • logback 自定义Pattern模板教程

    logback 自定义Pattern模板教程

    这篇文章主要介绍了logback 自定义Pattern模板教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Spring Data Jpa框架最佳实践示例

    Spring Data Jpa框架最佳实践示例

    这篇文章主要为大家介绍了Spring Data Jpa框架最佳实践示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-02-02
  • Java连接sftp服务器实现上传下载功能

    Java连接sftp服务器实现上传下载功能

    这篇文章主要介绍了java连接sftp服务器实现上传下载,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • SpringBoot配置Https访问的详细步骤

    SpringBoot配置Https访问的详细步骤

    HTTP(Hypertext transfer protocal)是一种详细规定了浏览器和万维网服务器之间相互通信的规则,通过因特网传送万维网文档的数据传送协议,这篇文章主要介绍了SpringBoot配置Https访问的详细步骤,需要的朋友可以参考下
    2024-02-02
  • Java之ThreadPoolExecutor类详解

    Java之ThreadPoolExecutor类详解

    这篇文章主要介绍了Java之ThreadPoolExecutor类详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 使用kotlin编写spring cloud微服务的过程

    使用kotlin编写spring cloud微服务的过程

    这篇文章主要介绍了使用kotlin编写spring cloud微服务的相关知识,本文给大家提到配置文件的操作代码,给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09

最新评论