用测试数据加载Spring启动数据库
目标:利用spring启动功能创建一个简单的数据库并加载数据 问题:在spring引导启动期间接收到错误用测试数据加载Spring启动数据库,spring,hibernate,jpa,spring-boot,h2,Spring,Hibernate,Jpa,Spring Boot,H2,目标:利用spring启动功能创建一个简单的数据库并加载数据 问题:在spring引导启动期间接收到错误 org.hibernate.tool.hbm2ddl.SchemaExport : Column "FIRSTNAME" not found; SQL statement 更多spring boot启动输出: 2015-03-06 17:32:30.919 INFO 3688 --- [ main] o.s.jdbc.datasource.init.ScriptUt
org.hibernate.tool.hbm2ddl.SchemaExport : Column "FIRSTNAME" not found; SQL statement
更多spring boot启动输出:
2015-03-06 17:32:30.919 INFO 3688 --- [ main] o.s.jdbc.datasource.init.ScriptUtils : Executing SQL script from URL [file:/E:/spring-workspace/TestApp/target/classes/schema.sql]
2015-03-06 17:32:30.926 INFO 3688 --- [ main] o.s.jdbc.datasource.init.ScriptUtils : Executed SQL script from URL [file:/E:/spring-workspace/TestApp/target/classes/schema.sql] in 4 ms.
2015-03-06 17:32:31.024 INFO 3688 --- [ main] j.LocalContainerEntityManagerFactoryBean : Building JPA container EntityManagerFactory for persistence unit 'default'
2015-03-06 17:32:31.034 INFO 3688 --- [ main] o.hibernate.jpa.internal.util.LogHelper : HHH000204: Processing PersistenceUnitInfo [
name: default
...]
2015-03-06 17:32:31.114 INFO 3688 --- [ main] org.hibernate.Version : HHH000412: Hibernate Core {4.3.6.Final}
2015-03-06 17:32:31.119 INFO 3688 --- [ main] org.hibernate.cfg.Environment : HHH000206: hibernate.properties not found
2015-03-06 17:32:31.120 INFO 3688 --- [ main] org.hibernate.cfg.Environment : HHH000021: Bytecode provider name : javassist
2015-03-06 17:32:31.373 INFO 3688 --- [ main] o.hibernate.annotations.common.Version : HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
2015-03-06 17:32:31.427 INFO 3688 --- [ main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
2015-03-06 17:32:31.545 INFO 3688 --- [ main] o.h.h.i.ast.ASTQueryTranslatorFactory : HHH000397: Using ASTQueryTranslatorFactory
2015-03-06 17:32:31.848 INFO 3688 --- [ main] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000227: Running hbm2ddl schema export
2015-03-06 17:32:31.853 ERROR 3688 --- [ main] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000388: Unsuccessful: insert into customer (firstname, lastname) values ('James', 'Last')
2015-03-06 17:32:31.853 ERROR 3688 --- [ main] org.hibernate.tool.hbm2ddl.SchemaExport : Column "FIRSTNAME" not found; SQL statement:
insert into customer (firstname, lastname) values ('James', 'Last') [42122-176]
2015-03-06 17:32:31.856 INFO 3688 --- [ main] org.hibernate.tool.hbm2ddl.SchemaExport : HHH000230: Schema export complete
schema.sql可在/resources中找到
drop table customer if exists;
create table customer (
id bigint auto_increment,
firstname varchar(80) null,
lastname varchar(80) null
);
insert into customer (firstname, lastname) values ('James', 'Last');
import.sql可在/resources中找到
drop table customer if exists;
create table customer (
id bigint auto_increment,
firstname varchar(80) null,
lastname varchar(80) null
);
insert into customer (firstname, lastname) values ('James', 'Last');
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.1.8.RELEASE</version>
</parent>
<artifactId>TestApp</artifactId>
<packaging>war</packaging>
<name>Spring Boot Web JSP Sample</name>
<description>Spring Boot Web JSP Sample</description>
<url>http://projects.spring.io/spring-boot/</url>
<organization>
<name>Pivotal Software, Inc.</name>
<url>http://www.spring.io</url>
</organization>
<properties>
<main.basedir>${basedir}/../..</main.basedir>
<m2eclipse.wtp.contextRoot>/</m2eclipse.wtp.contextRoot>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<useSystemClassLoader>false</useSystemClassLoader>
</configuration>
</plugin>
</plugins>
</build>
</project>
4.0.0
org.springframework.boot
spring启动程序父级
1.1.8.发布
特斯塔普
战争
SpringBootWebJSP示例
SpringBootWebJSP示例
http://projects.spring.io/spring-boot/
Pivotal软件公司。
http://www.spring.io
${basedir}/./。。
/
org.springframework.boot
SpringBootStarterWeb
org.springframework.boot
弹簧启动机tomcat
假如
org.apache.tomcat.embed
汤姆卡特·贾斯珀
假如
javax.servlet
jstl
org.springframework.boot
spring引导启动器数据jpa
com.h2数据库
氢
org.springframework.boot
弹簧起动试验
测试
org.springframework.boot
springbootmaven插件
org.apache.maven.plugins
maven surefire插件
假的
将import.sql
重命名为data.sql
。这很有效,但当我尝试使用CRUDREposition检索它时,什么都没有出现。我有一个@Entity Customer对象,它有一个对应的crudepository。它似乎在使用另一个数据库。如何将schema.sql链接到crudepository?您不应该配置任何内容,Spring Boot应该为您自动配置所有内容。@M.Deinum您是正确的,Spring Boot将自动配置几乎所有内容,但在本例中,它自动配置了两个独立的数据源。实际上,我找到了一些必需的代码,以确保我的Crudepository指向通过data.sql加载的H2数据库。