为什么使用H2?
有时候,做个简单的Demo,需要连接数据库,如果使用像mysql这样的数据库服务器,有点大题小做。 而使用H2正好满足轻量级开发测试的需求。
1、如果是Maven项目导入下面的依赖
pom.xml
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.197</version>
<scope>runtime</scope>
</dependency>
2、在Spring的xml配置文件中加入下面的内容
<!--使用内存数据库H2替换MySQL数据库-->
<jdbc:embedded-database id="dataSource" type="H2">
<jdbc:script location="classpath:schema.sql" encoding="UTF-8"/>
<jdbc:script location="classpath:data.sql" encoding="UTF-8"/>
</jdbc:embedded-database>
3、创建表结构的schema.sql
drop table if exists t_user;
create table t_user(
id bigint identity, /*identity 表示自增*/
name varchar(50),
address varchar(50),
primary key (id)
);
4、测试数据data.sql
insert into t_user(name,address)values('tom','shanghai');
insert into t_user(name,address)values('kite','hangzhou');
5、Spring 基于Java的注解配置
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.H2)
.setScriptEncoding("UTF-8")
.addDefaultScripts()
.build();
}