springboot集成hibernate-jpa方式
来源:互联网 发布:ubuntu 设置密码 编辑:程序博客网 时间:2024/05/17 05:55
1、maven依赖
<!-- Hibernate依赖 -->
<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、application.yml
# Hibernate JPA
spring:
datasource:
url: jdbc:mysql://localhost:3306/db_demo
username: root
password: root
driverClassName: com.mysql.jdbc.Driver
jpa:
database: MYSQL
hibernate:
ddl-auto: update
dialect: org.hibernate.dialect.MySQL5Dialect
show-sql: true
3、jpa配置
@Configuration@EntityScan(basePackages="com.glodon.springboot.po")@EnableJpaRepositories(basePackages= "com.glodon.springboot.repository")@EnableTransactionManagementpublic class HibernateJpaConfig {}
4、测试demo
packagecom.glodon.springboot.controller;
import com.alibaba.fastjson.JSON;
import com.glodon.springboot.po.Person;
import com.glodon.springboot.repository.PersonRepository;
import com.glodon.springboot.service.IHibernateJpaService;
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;
/**
* Created by zhangh-ag on 2017-06-12.
*/
@RestController
@RequestMapping(value= "/api/hibernate")
public class HibernateController {
@Autowired
private PersonRepositorypersonRepository;
@Autowired
private IHibernateJpaServicejpaService;
@GetMapping(value= "/jpa")
public StringtestJpa() {
Person oPerson = new Person();
oPerson.setName("小扎");
oPerson.setAge(30);
try {
personRepository.save(oPerson);
List<Person> oPersonList = personRepository.findByName("小扎");
return JSON.toJSONString(oPersonList);
} catch(Exception e) {
e.printStackTrace();
return JSON.toJSONString(e);
}
}
@GetMapping(value= "/jpaTransaction")
public StringtestJpaTransaction(){
try {
jpaService.testHibernateJpaTransaction();
return "test";
} catch(Exception e) {
return e.getMessage();
}
}
}
packagecom.glodon.springboot.service;
import org.springframework.transaction.annotation.Transactional;
/**
* Created by zhangh-ag on 2017-06-12.
*/
public interface IHibernateJpaService {
@Transactional
void testHibernateJpaTransaction();
}
packagecom.glodon.springboot.service.impl;
import com.glodon.springboot.po.Person;
import com.glodon.springboot.repository.PersonRepository;
import com.glodon.springboot.service.IHibernateJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* Created by zhangh-ag on 2017-06-12.
*/
@Service
public class HibernateJpaServiceImplimplements IHibernateJpaService{
@Autowired
private PersonRepositorypersonRepository;
@Override
public void testHibernateJpaTransaction() {
Person oPerson1 = new Person();
oPerson1.setName("tran_1");
personRepository.save(oPerson1);
if (null== oPerson1.getAge() ||!oPerson1.getAge().equals(0)) {
throw new RuntimeException("事务测试");
}
Person oPerson2 = new Person();
oPerson2.setName("tran_2");
personRepository.save(oPerson2);
}
}
packagecom.glodon.springboot.repository;
import com.glodon.springboot.po.Person;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.util.List;
/**
* Created by zhangh-ag on 2017-06-12.
*/
public interface PersonRepositoryextends JpaRepository<Person,String> {
@Query("from Person p where p.name =:name")
List<Person> findByName(@Param(value= "name") String name);
}
packagecom.glodon.springboot.po;
importjavax.persistence.*;
/**
* Created by zhangh-ag on 2017-06-12.
*/
@Entity
@Table(name= "t_person")
public class Person {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Column(name="id")
private Integerid;
@Column(name="name")
private Stringname;
@Column(name="age")
private Integerage;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id= id;
}
public StringgetName() {
return name;
}
public void setName(String name) {
this.name= name;
}
public IntegergetAge() {
return age;
}
public void setAge(Integer age) {
this.age= age;
}
}
- springboot集成hibernate-jpa方式
- springboot集成hibernate-jpa方式
- SpringBoot-SpringData-JPA集成
- springboot 集成 jpa 详解
- springboot集成spring-data-jpa
- Spring集成JPA(Hibernate)
- 三、SpringBoot JPA 配置Hibernate
- SpringBoot-03JPA Hibernate SpringData
- springboot 集成hibernate 集成struts2
- springboot+mybatis、JPA+swagger2完美集成
- Spring与JPA(Hibernate)集成
- Spring与JPA(Hibernate)集成
- Spring与JPA(Hibernate)集成
- Spring集成JPA(Hibernate实现)
- Springboot学习笔记(三)JPA-Hibernate
- springBoot+Jpa(hibernate)数据库基本操作
- SpringBoot+JPA(Hibernate)事物手动控制
- springboot集成mybatis xml方式
- 配置项---tomcat环境变量的配置
- javaSwing_5布局管理器
- 文章标题
- 嵌入式视频方案学习第十一篇——视频编码模块VENC
- JVM对象的创建与内存管理
- springboot集成hibernate-jpa方式
- protothread_简介
- 开发中泛型使用注意事项
- 算法
- 使用@RequestMapping 定义处理器函数-支持的形参类型
- MySQL行级锁、表级锁、页级锁
- Frogs (hdu5514)——2015ACM/ICPC亚洲区沈阳站(容斥定理)
- PINDEL检测结构变异
- 主题三 编译过程介绍---- 16.宏定义与使用分析