maven工程中使用h2 嵌入式数据库
小白的第一次使用h2数据库,希望能给刚接触的小伙伴们一点帮助。
导入依赖
<!--spring 依赖-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<!--嵌入式数据库 h2-->
<!-- https://mvnrepository.com/artifact/com.h2database/h2 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.200</version>
<scope>test</scope>
</dependency>
<!-- 2.Spring dao依赖 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.10.RELEASE</version>
</dependency>
<!--cwzhi-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
</dependencies>
spring配置文件
<jdbc:embedded-database id="dataSource" type="H2">
<jdbc:script location="classpath:sql/sq1.sql"/>
</jdbc:embedded-database>
<bean class="org.springframework.jdbc.core.JdbcTemplate" id="jdbcTemplate">
<property name="dataSource" ref="dataSource"/>
</bean>
实体类
package domain;
public class Teacher {
private int id;
private String name;
private int age;
//省略getter和setter
初始化h2数据库 sql1.sql文件
drop table if exists teacher ;
-- 创建表
create table teacher(
id int primary key auto_increment,
name varchar(20),
age int
);
insert into teacher(name,age) values('张老师',23);
insert into teacher(name,age) values('李老师',24);
测试代码
import domain.Teacher;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.sql.ResultSet;
import java.sql.SQLException;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:application.xml")
public class HTest {
@Autowired
private JdbcTemplate jdbcTemplate;
@Test
public void htest(){
String sql2 = "select id,name,age from teacher where age=23";
RowMapper<Teacher> rowMapper = new RowMapper<Teacher>(){
public Teacher mapRow(ResultSet resultSet, int i) throws SQLException {
Teacher teacher = new Teacher();
teacher.setId((Integer) resultSet.getObject("id"));
teacher.setAge((Integer) resultSet.getObject("age"));
teacher.setName((String) resultSet.getObject("name"));
return teacher;
}
};
Teacher teacher = jdbcTemplate.queryForObject(sql2, rowMapper);
System.out.println(teacher);
}
}
Teacher teacher = jdbcTemplate.queryForObject(sql2, rowMapper);
System.out.println(teacher);
}
}