在springboot使用h2database建立数据库

一; 加入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.3.RELEASE</version> </parent>
然后加入如下的依赖
sprin-boot-starter-web;
spring-boot-starter-data-jpa
<--spring data jpa jpa是一种dao层的规范 是有sun公司提出的 为了统一当下的 orm框架 但是hibernate使用的就是遵循jap规范的pem框架 而我们的spring使用的就是 基于hibernate的jpa -->
加入 h2database<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <!-- test 表示在打包的时候不会将此jar包打包进去 --> <scope>test</scope> </dependency>
h2database 是纯java编写的 短小精干 基于内存的
最后在pom里面加入<dependencyManagement> <dependencies> <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <!-- Camden这个单词是 伦敦地铁站的站名 sr 就是 service release 4表示 第四次修正 --> <version>Camden.SR4</version> <type>pom</type> </dependency> </dependencies> </dependencyManagement>
然后加入<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
建立一个src/main/resource文件夹,application.yml,data.sql,schema.sql
application.yml中写

server:
  port: 8080
spring:
  jpa:
    show-sql: true
    generate-ddl: false
    hibernate:
      ddl-auto: none
  datasource:
   platform: h2
   schema: clasepath:schema.sql
   data: classpath:data.sql
logging:
   level:
     root: INFO
     org.hibernate: INFO
     org.hibernate.type.descriptor.sql.BasicBinder: TRACE  
     org.hibernate.type.descriptor.sql.BasicExtractor: TRACE
data插入sql语句,schema创建数据库
schema.sql创建一个User表,需要一个主键,定义如下`:
id bigint generated by default as identity,
primary key(id)`
建立一个实体类,User,其中主键id上面加上注解@Id其他的加上@column

创建dao,创建一个接口继承JpaRepository@Repository
public interface UserRepository extends JpaRepository<User, Long>{
//User findUserByNameAndAge();
//select * from user where name=? and age =?;
}
User表示实体类,Long表示主键id的类型。
创建controller类,`@RestController
public class UserController {
@Autowired
private UserRepository user;

@RequestMapping("/a/{id}")
public User show(@PathVariable Long id) {
	return this.user.findOne(id);
}

}`
最后在父包创建运行的main。

posted @ 2022-05-27 14:57  whtjyt  阅读(716)  评论(0编辑  收藏  举报