maven导入:
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.199</version>
</dependency>
嵌入数据库Demo:
/**
* 2019年4月22日下午10:16:05
*/
package testH2db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* @author xinwenfeng
*
*/
public class TestH2db {
/**
* @param args
*/
public static void main(String[] args) {
try {
Connection conn = DriverManager.getConnection("jdbc:h2:./mydb");//当前项目下
// Connection conn = DriverManager.getConnection("jdbc:h2:~/mydb");//“系统盘:\Users\用户名”文件夹下
Statement state = conn.createStatement();
state.executeUpdate("create table games (id INTEGER PRIMARY KEY AUTO_INCREMENT,name VARCHAR(100))");
state.executeUpdate("insert into games (name) values ('Devil May Cry5'),('Crysis3'),('Far cry4')");
state.close();
PreparedStatement pstate = conn.prepareStatement("select * from games where name like ?");
pstate.setString(1, "%Cry%");
ResultSet resultSet = pstate.executeQuery();
while(resultSet.next()) {
System.out.println("id:"+resultSet.getInt("id")+" name:"+resultSet.getString(2));
}
pstate.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
结果:
内存数据库Demo:
/**
* 2019年4月22日下午10:40:15
*/
package testH2db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* @author xinwenfeng
*
*/
public class TestH2dbMem {
/**
* @param args
*/
public static void main(String[] args) {
try {
// Connection conn = DriverManager.getConnection("jdbc:h2:mem:");//内存模式
Connection conn = DriverManager.getConnection("jdbc:h2:mem:db1");//指定内存数据库
Statement state = conn.createStatement();
state.executeUpdate("create table animals (id INT,name VARCHAR(100))");
state.executeUpdate("insert into animals (id,name) values (1,'dog'),(2,'cat'),(3,'rabbit'),(4,'fish'),(5,'duck'),(6,'tiger')");
state.close();
PreparedStatement pstate = conn.prepareStatement("select name from animals where id between ? and ?");
pstate.setInt(1, 2);
pstate.setInt(2, 4);
ResultSet rset = pstate.executeQuery();
while(rset.next()) {
System.out.println(rset.getString("name"));
}
pstate.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
结果:
h2网站有张数据库比较图扣下来,maven里这类数据库h2好像用的很多,其他还有hsqldb、derby等等;
参考: