Springboot Jpa
2385 ワード
mysql mysql-connector-java
org.springframework.boot spring-boot-starter-data-jpa
/* application.propertiesプロファイル*/
方言を設定しないとヒント:Access to DialectResolutionInfo cannot be null when'hibernate.dialect’ not set
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
データベーステーブル構造を自動的に更新するかvalidate|update|create|create-drop
spring.jpa.properties.hibernate.hbm2ddl.auto=update
sql文の表示
spring.jpa.show-sql=true
/*初期クラスは動かない*/@SpringBootApplication public class SpringbootanddataApplication{public static void main(String[]args){SpringApplication.run(SpringbootanddataApplication.clss,args)}}
/*modelエンティティクラス/@Entity/は、データベーステーブル*/@Table(name=「user」)/に対応するオプションの注釈であることを宣言する必須の注釈です.データベース・エンティティに対応するテーブル情報には、テーブル名、インデックス情報などが宣言されます.ここで、このエンティティクラスに対応するテーブル名はuserであることを宣言します.指定されていない場合、テーブル名とエンティティの名前は一致します/public class User{@Id@GeneratedValue(strategy=GenerationType.AUTO)private Integer id;private String name;private Integer age;
}/*永続層/@Repository/継承JpaRepository/public interface UserMapper extends JpaRepository{User findById(Integer id);/注意メソッド名は固定された独自の規定で書く*/}
/*serviceインタフェースは永続層のメソッド名と一致する*/public interface UserService{User findByid(Integer id);
/*service実装クラス*/@Service@Transactional/削除操作は、物事管理が必要です.そうでなければ、jpaエラー/public class UserServiceImplements UserService{@Autowired/*注入mapperインタフェース*/private UserMapper userMapper;
}/*テストクラス*/@RunWith(SpringRunner.class)@SpringBootTest public class SpringbootanddataApplicationTests{
}
org.springframework.boot spring-boot-starter-data-jpa
/* application.propertiesプロファイル*/
方言を設定しないとヒント:Access to DialectResolutionInfo cannot be null when'hibernate.dialect’ not set
spring.jpa.database-platform=org.hibernate.dialect.MySQL5Dialect
データベーステーブル構造を自動的に更新するかvalidate|update|create|create-drop
spring.jpa.properties.hibernate.hbm2ddl.auto=update
sql文の表示
spring.jpa.show-sql=true
/*初期クラスは動かない*/@SpringBootApplication public class SpringbootanddataApplication{public static void main(String[]args){SpringApplication.run(SpringbootanddataApplication.clss,args)}}
/*modelエンティティクラス/@Entity/は、データベーステーブル*/@Table(name=「user」)/に対応するオプションの注釈であることを宣言する必須の注釈です.データベース・エンティティに対応するテーブル情報には、テーブル名、インデックス情報などが宣言されます.ここで、このエンティティクラスに対応するテーブル名はuserであることを宣言します.指定されていない場合、テーブル名とエンティティの名前は一致します/public class User{@Id@GeneratedValue(strategy=GenerationType.AUTO)private Integer id;private String name;private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
'}';
}
}/*永続層/@Repository/継承JpaRepository/public interface UserMapper extends JpaRepository{User findById(Integer id);/注意メソッド名は固定された独自の規定で書く*/}
/*serviceインタフェースは永続層のメソッド名と一致する*/public interface UserService{User findByid(Integer id);
/*service実装クラス*/@Service@Transactional/削除操作は、物事管理が必要です.そうでなければ、jpaエラー/public class UserServiceImplements UserService{@Autowired/*注入mapperインタフェース*/private UserMapper userMapper;
@Override
public User findByid(Integer id) {
/* mapper */
return userMapper.findById(id);
}
}/*テストクラス*/@RunWith(SpringRunner.class)@SpringBootTest public class SpringbootanddataApplicationTests{
@Autowired
private UserService userService;
@Test
public void contextLoads() {
User user = userService.findByid(1);
SysStem.out.println(user);
}
}