springboot + jpa 练习

spingboot集成jpa(一):最基本的环境搭建
spingboot集成jpa(二):使用单元测试

1. pom.xml中添加依赖

    <!-- jdbc --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>

2. application.propertis添加配置

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driverspring.jpa.properties.hibernate.hbm2ddl.auto=update
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.show-sql=true

3. 实体类User.java创建

package com.king.entity;import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;@Entity
@Table(name="m_user")
public class User{@Id@Column(name="ID")private String id;@Column(name="user_code")private String code;@Column(name="user_name")private String username;@Column(name="user_pwd")private String password;@Column(name="update_tmsp")private Date updateTime;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getCode() {return code;}public void setCode(String code) {this.code = code;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public Date getUpdateTime() {return updateTime;}public void setUpdateTime(Date updateTime) {this.updateTime = updateTime;}@Overridepublic String toString() {return "User [id=" + id + ", code=" + code + ", username=" + username+ ", password=" + password + ", updateTime=" + updateTime + "]";}
}

4. dao层创建UserDao.java继承JpaRepository

package com.king.dao;import org.springframework.data.jpa.repository.JpaRepository;import com.king.entity.User;public interface UserDao extends JpaRepository<User, String>{}

5. service层创建查询方法,并装备dao中的方法

UserService接口

package com.king.service;import java.util.List;
import com.king.entity.User;public interface UserService {public User findOne(String id);public List<User> findAll();
}

UserService实现类

package com.king.service.impl;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.king.dao.UserDao;
import com.king.entity.User;
import com.king.service.UserService;@Service("userService")
public class UserServiceImpl implements UserService{@Autowiredprivate UserDao userDao;@Overridepublic User findOne(String id) {return userDao.findOne(id);}@Overridepublic List<User> findAll() {return userDao.findAll();}
}

6. controller层查询

package com.king.controller;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import com.king.entity.User;
import com.king.service.UserService;@RestController
public class UserController {@Autowiredprivate UserService userService;@RequestMapping("/queryUser")public User getUser(String id){return userService.findOne(id);}@RequestMapping("/queryAll")public List<User> getAll(){return userService.findAll();}}

7. App中配置扫描

package com.king.app;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;@ComponentScan(basePackages={"com.king.controller","com.king.service"})
@EnableJpaRepositories(basePackages="com.king.dao")
@EntityScan(basePackages="com.king.entity")
@EnableAutoConfiguration
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}

到此,所有的配置完成。

测试1:根据id查询单个对象,返回json对象

测试2: 测试查询所有对象,返回json数组

转载于:https://www.cnblogs.com/30go/p/8440343.html

spingboot集成jpa(一)相关推荐

  1. Spring Boot集成JPA的Column注解命名字段无效的问题

    偶然发现,Spring Boot集成jpa编写实体类的时候,默认使用的命名策略是下划线分隔的字段命名. Spring Boot版本:1.5.4.release 数据表: id int, userNam ...

  2. spring jpa 多数据源_Spring同时集成JPA与Mybatis

    ORM ORM的出现,使得关系型数据库映射成了对象:简单来说,有了ORM之后,JAVA程序员从面向JDBC编程转化成面向JAVA对象编程. Spring ORM Spring对ORM的解决方案主要体现 ...

  3. java框架mangedv,Spring集成JPA后,报“Not an managed type: class x.x.x

    以前的Spring脚手架项目,因业务需要,是基于多数据源 and不同方言的数据库的,对于普通项目过于复杂了, 于是重新搭了个单数据源的,用STS新建完毕,这是项目目录, 加上配置之后,先列下appli ...

  4. Jpa第一话 -- Springboot集成Jpa和Mybatis以及Jpa的最全使用

    本文主要记录spring-boot-starter-data-jpa的详细使用. 在做一些小型无并发的项目时,说实话第一个想到的就是Jpa,一个Entity走天下. 1.Spring Jpa的使用 基 ...

  5. spring集成jpa【为什么有 persistant.xml 文件呢?】

    原文地址: http://www.cnblogs.com/javahuang/archive/2012/12/19/2824633.html spring集成JPA的其中一种方式 JPA和hibern ...

  6. 类型 jpa mysql_Spring Boot集成JPA

    前言 第一次使用 Spring JPA 的时候,感觉这东西简直就是神器,几乎不需要写什么关于数据库访问的代码一个基本的 CURD 的功能就出来了.下面我们就用一个例子来讲述以下 JPA 使用的基本操作 ...

  7. Spring集成JPA提示Not an managed type

    在做Spring与JPA集成时,出现问题如下: Caused by: java.lang.IllegalArgumentException: Not an managed type: class co ...

  8. SpringBoot集成JPA根据实体类自动生成表

    数据库是mysql,在application.properties中的写法如下: 原来配置这样的时候确实可以生产表的 #spring.jpa.hibernate.ddl-auto=update 多方查 ...

  9. SpringBoot集成JPA

    2019独角兽企业重金招聘Python工程师标准>>> 1.创建新的maven项目 (本文由开源中国-千里明月-原创 ,https://my.oschina.net/u/349086 ...

最新文章

  1. Redis命令——哈希(Hash)
  2. DOM-based XSS Test Cases
  3. jvm 崩溃日志设置_记一次JVM疯狂GC导致CPU飙高的问题解决
  4. TESTb需要向至少十几家应用商店提交上线审核,且每个应用商店要求的资料可能都不一样,异常繁琐
  5. 信号转化java_Java基础知识回顾-7
  6. Lucene分析过程指南
  7. MySQL数据库常用命令_常用SQL语句及命令_MySQL常用语句
  8. C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区...
  9. 【4】协同过滤算法的原理与实现
  10. 安卓学习笔记17:常用控件 - 编辑框
  11. python matplotlib 图片模糊问题
  12. Dijkstra与Floyd算法
  13. quot在c语言里用法,C语言中“#”和quot;##quot;的用法
  14. 云计算机房设备清单报价,射阳县高级中学云计算机房建设预算.doc
  15. 踫撞检测 之一 — 关于分离轴理论的解释(Separating Axis Theorem (SAT) Explanation)(完整翻译)
  16. 好书推荐之《不能承受的生命之轻》 隐私策略(Privacy policy)
  17. redis哨兵模式搭建配置(一主三从三哨兵)
  18. 根式进入计算机的方法
  19. P1134 高精度阶乘
  20. 创客匠人教您实现流量变现

热门文章

  1. 最简单的教程:在Ubuntu操作系统里安装Docker
  2. One Order行项目里Item Category是怎么计算出来的
  3. android4.0 菜单,三大主流安卓4.0界面解析 MIUI最实用
  4. linux下cpu opencl加速,GPU挑战CPU!详解CUDA+OpenCL威力
  5. 申报控件检测未通过_详解高企申报未通过原因!
  6. win7系统未响应卡住_电脑怎么修复win7系统 电脑修复win7系统方法【教程详解】...
  7. if else if语句的用法python_Python笔记3---if语句、if-elif-else 结构、使用if语句处理列表...
  8. bootstrap后台模板_免费bootstrap后台管理系统模板源码 网站后台模板_后台管理界面...
  9. arch linux键盘布局,Arch Linux的安装、配置、优化及美化(一)
  10. java mvc增删改查_springmvc-CRUC增删改查