あなたは春データJPAの使用にSpringboot開発プロジェクト、ORMフレームワークの使用を開始するとき、我々は深刻な流行している間、断続的にしか多くの作業状況の、記録上のノートであることを、いくつかの結論を行っていない、年以上で使用何Springbootは春データJPA一般的な手順を統合しました。
1は、最初の2.0.5.RELEASEと上springbootプロジェクト、springdataと呼ばれるプロジェクト、バージョンspringbootを作成します。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/>
</parent>
図2に示すように、対応するJARパッケージに導入
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
3、新しいユーザーエンティティクラス、および追加のメモ
import lombok.Data;
import lombok.ToString;
import javax.persistence.*;
import java.io.Serializable;
@Data
@Entity
@Table(name = "user")
@ToString
public class User implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name = "user_name")
private String userName;
@Column(name = "user_age")
private Integer userAge;
}
注釈説明:
@Entity:このクラスは、エンティティ・クラスが示されている
データベーステーブル名指定:@Tableを
指定表の主キー:@Id
@GeneratedValue:ポリシーを指定の主キー生成
フィールドとテーブルで指定されたクラスのプロパティの対応するメンバーを:@Columnを関係
4、新しいUserDaoインターフェース、統合JpaRepositoryクラス、および更新ユーザにユーザSELクエリメソッド、Updateメソッドを追加
import com.springdata.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@Repository
public interface UserDao extends JpaRepository<User, Integer> {
@Query(value = "select id, user_name, user_age from user where id = :id", nativeQuery = true)
User sel(@Param("id") int id);
@Transactional
@Modifying
@Query(value = "update user set user_name = :userName, user_age = :userAge where id = :id", nativeQuery = true)
void update(@Param("userName") String userName, @Param("userAge") Integer userAge, @Param("id") Integer id);
}
5、新しいMySQLデータベースの構成やリソースの設定ファイルディレクトリ内のapplication.properties JPAの構成
server.port=8080
# mysql数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# JPA配置
# 显示执行的sql语句
spring.jpa.show-sql=true
6、UserServiceのインタフェースと実装クラスを作成UserServiceImpl
import com.springdata.model.User;
import java.util.List;
public interface UserService {
public User sel(int id);
public void add(User user);
public void update(User user);
}
import com.springdata.dao.UserDao;
import com.springdata.model.User;
import com.springdata.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserDao userDao;
@Override
public User sel(int id) {
return userDao.sel(id);
}
@Override
public void add(User user) {
userDao.save(user);
}
@Override
public void update(User user) {
userDao.update(user.getUserName(), user.getUserAge(), user.getId());
}
}
図7に示すように、コントローラクラスを作成UserControllerで
import com.springdata.model.User;
import com.springdata.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@GetMapping(value = "/getUser/{id}")
public String getUser(@PathVariable int id) {
return userService.sel(id).toString();
}
@PostMapping(value = "/addUser", produces = "application/json;charset=UTF-8")
public String addUser(@RequestBody User user) {
try {
userService.add(user);
} catch (Exception e) {
e.printStackTrace();
return "error";
}
return "success";
}
@PostMapping(value = "/updateUser", produces = "application/json;charset=UTF-8")
public String updateUser(@RequestBody User user) {
try {
userService.update(user);
} catch (Exception e) {
e.printStackTrace();
return "error";
}
return "success";
}
}
図8に示すように、テストのMySQLデータベース内のユーザ・テーブルを作成します
CREATE TABLE `user` (
`id` INT(32) NOT NULL AUTO_INCREMENT,
`user_name` VARCHAR(32) NOT NULL,
`user_age` INT(3) NOT NULL,
PRIMARY KEY (`id`) USING BTREE
)
9、使用springdataプロジェクトや郵便配達のテストを開始し
、新規ユーザーを:
変更ユーザー:
クエリユーザー:
これまでSpringboot春データJPAとの統合が完了した、テストでは、それは非常に簡単ではありません、また、非常に成功しています!
改善のための領域は非常に感謝し、正しいことが、あなたの学生は言葉をねたむしないことを望むがあります!