springboot 整合springDataJPA

〇、搭建springboot环境

一、添加依赖

  • mysql

      <!-- mysql驱动 -->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    </dependency>
  • springdatajpa

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

配置文件(src/main/resources/application.properties)

########################################################
###datasource
########################################################
spring.datasource.url = jdbc:mysql://localhost:3306/springboot
spring.datasource.username = root
spring.datasource.password = root
spring.datasource.driverClassName = com.mysql.jdbc.Driver
spring.datasource.max-active=20
spring.datasource.max-idle=8
spring.datasource.min-idle=8
spring.datasource.initial-size=10
########################################################
### Java Persistence Api
########################################################
# Specify the DBMS
spring.jpa.database = MYSQL
# Show or not log for each sql query
spring.jpa.show-sql = true
# Hibernate ddl auto (create, create-drop, update)
spring.jpa.hibernate.ddl-auto = update
# Naming strategy
#[org.hibernate.cfg.ImprovedNamingStrategy #org.hibernate.cfg.DefaultNamingStrategy]
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
# stripped before adding them to the entity manager)
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect

持久层

import org.springframework.data.repository.CrudRepository;
import com.xujie.pojo.Target; public interface TargetRepository extends CrudRepository<Target,Integer>{ }

Entity

使用jpa的时候,一般先开发entity.因为如果配置文件配置了spring.jpa.hibernate.ddl-auto = update的话,jpa可以直接根据entity创建表;

示例:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id; @Entity(name="target")
public class Target {
@Id
@GeneratedValue
private int tid;
@Column(name="tname",length=20)
private String tname; public int getTid() {
return tid;
}
public void setTid(int tid) {
this.tid = tid;
}
public String getTname() {
return tname;
}
public void setTname(String tname) {
this.tname = tname;
}
@Override
public String toString() {
return "Target [tid=" + tid + ", tname=" + tname + "]";
}
}

service

import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.xujie.pojo.Target;
import com.xujie.repository.TargetRepository;
import com.xujie.service.TargetService; @Service
public class TargetServiceimpl implements TargetService { // @Resource是根据名称注入 @Autowired是根据类型注入
@Resource
private TargetRepository targetRepository; //添加
@Override
public void save(Target target) {
this.targetRepository.save(target);
} //删除
@Override
public void delete(Integer id) {
this.targetRepository.delete(id);
} //查询
@Override
public List<Target> findAll(){
return (List<Target>) this.targetRepository.findAll();
}
}

controller

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.xujie.pojo.Target;
import com.xujie.service.TargetService; @RestController
public class TargetController { @Autowired
private TargetService targetService; //添加
@GetMapping("/save")
public void save() {
Target target = new Target();
target.setTname("减肥");
this.targetService.save(target);
} //删除
@GetMapping("/delete/{id}")
public void delete(@PathVariable Integer id) {
this.targetService.delete(id);
} //查询所有
@GetMapping("/findAll")
public List<Target> findAll() {
return this.targetService.findAll(); }
}

最新文章

  1. Ubuntu杂记——Ubuntu下Eclipse搭建Maven、SVN环境
  2. Maven No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK? 问题
  3. Minimum Inversion Number_线段树||树状数组
  4. IntelliJ IDEA中如何设置同时打开多个文件且分行显示?
  5. qt编写一个只能运行单个实例的程序,不用Windows API
  6. VC++函数(win32_exe)
  7. SDAU课程练习--problemQ(1016)
  8. 【转】DHCP的请求过程
  9. js正则表达语法
  10. (办公)工作中的编码不良习惯Java(不定时更新)
  11. dede后台编辑器更改
  12. ASP.NET MVC - Entity Framework
  13. C语言运行库翻译
  14. css3的动画
  15. 知识点:Mysql 基本用法之函数
  16. Percentage&amp;Last zero&amp;Convert from char to float
  17. centos7安装rabbitmq3.7
  18. php flock 文件锁
  19. 【顽固BUG】Visual Studio 2015 + TestDriven.NET-3.8.2860_Personal_Beta 调用的目标发生了异常。
  20. CodeForces - 1059D(二分+误差)

热门文章

  1. Docker容器-入门级
  2. 基于eth快速发行自己的数字货币
  3. JavaScript - Standard built-in objects
  4. [boost-3] 函数对象
  5. Linux建立FTP服务器
  6. elmentUI组件怎么绑定原生事件
  7. exit和die的区别
  8. ACM 竞赛高校联盟 练习赛 第二场 B&amp;C
  9. 【模拟赛&#183;polyline】
  10. [bzoj1033] [ZJOI2008]杀蚂蚁 Big MoNI