当前环境:JDK1.8、MAVEN 3.6.1 、eclipse
1.导入hsqldb的依赖
当前
pom
文件内容如下:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.4.RELEASE</version>
<relativePath />
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 如果添加了springBoot中隊jpa的依賴,就需要在application.properties中设置数据源 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- 添加内存数据库 org.hsqldb -->
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<!-- <scope>runtime</scope> -->
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
2.编写hsqldb的DataSource
当前的application.properties中的内容如下:
server.port=9090
server.context-path=/springboot-hsqldb
#hsqldb dataSource properties
spring.datasource.driver-class-name=org.hsqldb.jdbcDriver
spring.datasource.url=jdbc:hsqldb:mem://localhost/testdb;shutdown=true
#shutdown=true一定要写,否则springboot可能管理不了
spring.datasource.username=sa
spring.datasource.password=
下面可以选择不写
#spring.jpa.show-sql=true
#spring.jpa.hibernate.ddl-auto=update
3.编写实体类
当前
User
类中的内容如下:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private Date birth;
@Column(name = "on_work")
private Boolean onWork;// 还是原来的问题
}
4.编写dao层
当前的
UserDao
内容如下:
/**
* @description User的dao层
* @author hy
* @date 2019-08-12
*/
@Repository
public interface UserDao extends JpaRepository<User, Integer> {
}
5.省略service、service的实现类、入口类和controller层
参考h2文章中的相同内容
6.测试
各个操作都成功!
7.总结
1.当前的hsqldb在配置的时候一定要在url中添加shutdown=true
;否者会出现错误:
org.hsqldb.HsqlException: user lacks privilege or object not found: USER(表不存在的错误)
2.当前的hsqldb中的实体类只需要@Entity注解,@Id和@GeneratedValue
3.dao层需要继承jpa的或者reposity即可
以上纯属个人见解,如有错误请联系本人!