Spring Boot访问mysql(JPA方式)最简单配置

0.先推荐一个工具——lombok,pom文件如下:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>compile</scope>
</dependency>

可以使用注解@Data 编译时自动生成get,set方法,构造函数,toString方法。

@Data
@Entity
public class Account
{
    @Id
    private String id;
    private String account;
    @Column(name = "call_phone")
    private String phone;
    @Column(name = "nick_name")
    private String nickname;
    private String password;
    private String salt;
    private int userType;
    private String createUser;
    private Timestamp createTime;
    private int state;
}

生成后的效果如下:

1.pom.xml文件下添加如下依赖,引入spring-boot-jpa的jar包,以及mysql驱动

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

2.在/src/main/resources/application.properties中配置spring datasource及hibernate方言

(Spring boot 默认使用hibernate作为JPA的实现)

spring.datasource.url=jdbc:mysql://localhost:3306/test?useSSL=false
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.tomcat.max-active=100
spring.datasource.tomcat.max-idle=200
spring.datasource.tomcat.initialSize=20
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect

3.定义Entity和Repository(接口)。

Entity--Account实体类如下:

@Entity会被spring扫描并加载,

@Id注解在主键上

@Column name="call_phone" 指该字段对应的数据库的字段名,如果相同就不需要定义。数据库下划线间隔和代码中的驼峰法视为相同,如数据库字段create_time等价于Java类中的createTime,因此不需要用@Column注解。

@Data
@Entity
public class Account
{
    @Id
    private String id;
    private String account;
    @Column(name = "call_phone")
    private String phone;
    @Column(name = "nick_name")
    private String nickname;
    private String password;
    private String salt;
    private int userType;
    private String createUser;
    private Timestamp createTime;
    private int state;
}

Repository如下:

@Repository
public interface AccountRepository extends JpaRepository<Account, String>
{
    Account findOneByAccount(String account);
}

4.在其他@Component中调用

@RestController
@RequestMapping("/subsystem")
public class SubsystemAuthorityService
{
    @Autowired
    AccountRepository accountRepository;

    @PostMapping(path = "/admin/info")
    public String getAdminInfo(String currentAccount)
    {
        Account account = accountRepository.findOneByAccount(currentAccount);
        System.out.println(account);
        return account.toString();
    }
}
时间: 2024-12-26 07:16:35

Spring Boot访问mysql(JPA方式)最简单配置的相关文章

Spring Data JPA例子[基于Spring Boot、Mysql]

关于Spring Data Spring社区的一个顶级工程,主要用于简化数据(关系型&非关系型)访问,如果我们使用Spring Data来开发程序的话,那么可以省去很多低级别的数据访问操作,如编写数据查询语句.DAO类等,我们仅需要编写一些抽象接口并定义相关操作即可,Spring会在运行期间的时候创建代理实例来实现我们接口中定义的操作. 关于Spring Data子项目 Spring Data拥有很多子项目,除了Spring Data Jpa外,还有如下子项目. Spring Data Comm

Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践

我知道大家这段时间看了我写关于 docker 相关的几篇文章,不疼不痒的,仍然没有感受 docker 的便利,是的,我也是这样认为的,I know your felling . 前期了解概念什么的确实比较无聊,请不要着急精彩马上开始,当大家对 docker 相关概念有所了解之后,后面我会结合 Spring Boot 给大家来一系列的小例子,会让大家感受到使用 Docker 就是这么爽! 今天给大家演出的导演是 Docker 家族的 docker-compare ,主演是 Spring Boot.

Spring Boot 快速入门 史上最简单

1.Spring Boot 概述 Spring Boot 是所有基于 Spring 开发的项目的起点.Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件. 2.什么是 Spring Boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.用我的话来理解,就是spring boot其实不是什么新

基于Spring Boot,使用JPA动态调用Sql查询数据

在<基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD>,<基于Spring Boot,使用JPA调用Sql Server数据库的存储过程并返回记录集合>完成了CRUD,调用存储过程查询数据. 很多复杂的情况下,会存在要直接执行SQL来获取数据. 通过“EntityManager”创建NativeQuery方法来执行动态SQL. 1.查询结果集映射 在包“com.kxh.example.demo.domain”下的“Contact”实体上编写命名的结果

Spring Boot - 访问外部接口最全总结

Spring Boot - 访问外部接口 在Spring-Boot项目开发中,存在着本模块的代码需要访问外面模块接口,或外部url链接的需求, 比如调用外部的地图API或者天气API. Spring Boot - 访问外部接口 方案一: 采用原生的Http请求 方案二: 采用Feign进行消费 方案三: 采用RestTemplate方法 Get请求之--getForEntity(Stringurl,Class responseType,Object-urlVariables) Get请求之--g

使用spring boot中的JPA操作数据库

前言 Spring boot中的JPA 使用的同学都会感觉到他的强大,简直就是神器一般,通俗的说,根本不需要你写sql,这就帮你节省了很多时间,那么下面我们来一起来体验下这款神器吧. 一.在pom中添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </depen

Spring boot 默认静态资源路径与手动配置访问路径的方法

这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 server.port=8081 ##默认前缀 spring.mvc.view.prefix=/ ## 响应页面默认后缀 spring.mvc.view.suffix=.html # 默认值为 /** spring.mvc.static-path-pattern=/** # 这里设置要指向的路径,多个

spring boot 连接mysql 错误The server time zone value &#39;&#214;&#208;&#185;&#250;&#177;&#234;&#215;&#188;&#202;&#177;&#188;&#228;&#39; is unrecognized or represents more than one

1.spring boot 整合mybatis 连接mysql时错误 The server time zone value '?D1ú±ê×?ê±??' is unrecognized or represents more than one 2.解决: jdbc:mysql://localhost:3306/new_schema?useSSL=false&serverTimezone=GMT%2B8 在地址后面加上 &serverTimezone=GMT%2B8%2B是+号的意思,这个意思

spring注解开发中常用注解以及简单配置

一.spring注解开发中常用注解以及简单配置 1.为什么要用注解开发:spring的核心是Ioc容器和Aop,对于传统的Ioc编程来说我们需要在spring的配置文件中邪大量的bean来向spring容器中注入bean对象, 然而,通过注解编程可以缩短我们开发的时间,简化程序员的代码编写. 2.如何开启注解开发:最常用的方法是使用<mvc:annotation-driven/>来开启注解编程(用一个标签配置了spring注解编程的映射器和适配器,同时配置了许多的参数) 3.如何将有注解的be