この記事では主にMySQLデータベースとJPAを追加するSpring Bootを紹介します。編集者はそれが非常に優れていると考えたので、参考として共有します。エディターをフォローして見てみましょう
最近 Spring Boot を学習しており、前回の学習の続きで、今回は MySQL データベースと JPA を追加します。
設定:
pom.xmlファイル
<!-- 添加Mysql和JPA--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
Application.propertiesにデータを追加(リソースフォルダーの下に作成して設定) 設定するファイル:
spring.datasource.url = jdbc:mysql://localhost:3306/spring_boot spring.datasource.username = root spring.datasource.password = root spring.datasource.driverClassName = com.mysql.jdbc.Driver # 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 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
User class
package com.seawater.bean; import javax.persistence.*; import javax.validation.constraints.NotNull; /** * Created by zhouhs on 2016/12/30. */ @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; private String name; private int age; public Long getId() { return id; } public void setId(Long 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; } }
UserController
package com.seawater.controller; import com.seawater.Dao.UserDao; import com.seawater.bean.User; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * Created by zhouhs on 2016/12/30. */ @RestController @RequestMapping(value = "/user") @Api(description = "用户") public class UserController { @Resource UserDao userDAO; @ApiOperation(value = "添加用户") @ApiImplicitParams({ @ApiImplicitParam(name = "name" , value = "name" , paramType = "query" , required = true ), @ApiImplicitParam(name = "age" , value = "age" , paramType = "query" , required = true ) }) @RequestMapping(value = "/addUser" , method = RequestMethod.POST) public String addUser(@RequestParam(value = "name") String name,@RequestParam(value = "age") int age){ User user = new User(); user.setName(name); user.setAge(age); userDAO.save(user); return "add user success !"; } @ApiOperation(value = "查找用户") @ApiImplicitParam(name = "id" , value = "id" , paramType = "query" , required = true , dataType = "int") @RequestMapping(value = "/findById" , method = RequestMethod.POST) public String findById(@RequestParam(value = "id") Long id){ User user = userDAO.findById(id); if(user == null){ return "error"; }else{ return "name:" + user.getName() + " , age:" + user.getAge(); } } @ApiOperation(value = "查询所有用户") @RequestMapping(value = "/findAll" , method = RequestMethod.POST) public Iterable findAll(){ Iterable<User> userList = userDAO.findAll(); return userList; } @ApiOperation(value = "删除用户") @ApiImplicitParam(name = "id" , value = "id" , paramType = "query" , required = true , dataType = "int") @RequestMapping(value = "/deleteById" , method = RequestMethod.POST) public String deleteById(@RequestParam(value = "id") Long id){ userDAO.delete(id); return "delete success !"; } }
dataテーブル (ID は Integer として定義):
UserDao:
package com.seawater.Dao; import com.seawater.bean.User; import org.springframework.data.repository.CrudRepository; /** * Created by zhouhs on 2016/12/30. */ public interface UserDao extends CrudRepository<User, Long> { public User findById(Long id); }
次に プロジェクトを開始します: localhost:8081/swagger-ui.html にアクセスします
結果:
方法 Iいちいち操作する必要はありません。
以上がMySQL データベースと JPA インスタンスを Spring Boot に追加するためのサンプルコードの共有の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。