Spring boot (四) JPA-Hibernate

来源:互联网 发布:推荐好看的小说知乎 编辑:程序博客网 时间:2024/06/16 14:26

1.在pom.xml中添加MySQL,spring-data-jpa依赖:

 

<!-- 添加MySQL数据库驱动依赖包. --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>

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


2.在application.properties文件中配置mysql连接配置文件

spring.datasource.url = jdbc:mysql://localhost:3306/testspring.datasource.username = rootspring.datasource.password = rootspring.datasource.driverClassName = com.mysql.jdbc.Driverspring.datasource.max-active=20spring.datasource.max-idle=8spring.datasource.min-idle=8spring.datasource.initial-size=10

3.在application.properties文件中配置JPA配置信息

# Specify the DBMSspring.jpa.database = MYSQL# Show or not log for each sql queryspring.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


4.编写测试例子

编写实体类:

@Entitypublic class Player {//设置主键自增长@Id@GeneratedValue(strategy=GenerationType.AUTO)private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Player [id=" + id + ", name=" + name + ", age=" + age + "]";}}

编写repository接口:

public interface PlayerRepository extends CrudRepository<Player, Integer>{}

编写service:

import javax.annotation.Resource;import javax.transaction.Transactional;import org.springframework.stereotype.Service;import com.milan.domain.Player;import com.milan.repository.PlayerRepository;@Servicepublic class PlayerService {/** * 相关操作需要通过@Transactional来绑定事务 */@Resourceprivate PlayerRepository playerRepository;@Transactionalpublic void save(Player player){playerRepository.save(player);}@Transactionalpublic void delete(int id){playerRepository.delete(id);}@Transactionalpublic Iterable<Player> getAll(){return playerRepository.findAll();}}

编写controller:

import javax.annotation.Resource;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import com.milan.domain.Player;import com.milan.service.PlayerService;@RestController@RequestMapping("/player")public class PlayerController {@Resourceprivate PlayerService playerService;@RequestMapping("/save")public String save(){Player p = new Player();p.setName("kaka");p.setAge(22);playerService.save(p);return "save success";}@RequestMapping("/delete")public String delete(){playerService.delete(1);return "delete success";}}

通过地址可以对数据库进行添加和删除:

http://localhost:8080/player/save 添加

http://localhost:8080/player/delete 删除





原创粉丝点击