h2数据库学习----h2数据库基本使用

依赖

		<dependency>
            <groupId>org.glassfish.hk2</groupId>
            <artifactId>hk2</artifactId>
            <version>3.0.3</version>
        </dependency>

注:内置了JDBC

连接数据库

    public static final String DRIVER_CLASS = "org.h2.Driver";
    public static final String JDBC_URL = "jdbc:h2:D:/log/h2";
    public static final String USER = "root";
    public static final String PASSWORD = "root";
    Class.forName(DRIVER_CLASS);
	Connection connection = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);

执行基本操作

    public static final String DRIVER_CLASS = "org.h2.Driver";
    public static final String JDBC_URL = "jdbc:h2:D:/log/h2";
    public static final String USER = "root";
    public static final String PASSWORD = "root";

    public void simpleCase() {
        try {
            log.info("start");
            Class.forName(DRIVER_CLASS);
            Connection connection = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);
            Statement statement = connection.createStatement();
            statement.execute("drop table if exists user_info");
            statement.execute("create table user_info(id integer primary key, name VARCHAR(100), SEX varchar(2))");
            statement.executeUpdate("insert into user_info values(1,'jsq','女')");
            statement.executeUpdate("insert into user_info values(2,'ad','女')");
            statement.executeUpdate("insert into user_info values(3,'sddf','男')");
            statement.executeUpdate("insert into user_info values(4,'sfrfe','男')");
            ResultSet resultSet = statement.executeQuery("select * from user_info");
            while (resultSet.next()) {
                log.info("id is {}, name is {}, sex is {}", resultSet.getInt("id"), resultSet.getString("name"), resultSet.getString("sex"));
            }
            statement.close();
            connection.close();
        } catch (ClassNotFoundException | SQLException e) {
            log.info("have a exception, which is {}", e.getMessage());
        }
    }

创建数据库连接池

    public static final String DRIVER_CLASS = "org.h2.Driver";
    public static final String JDBC_URL = "jdbc:h2:D:/log/h2";
    public static final String USER = "root";
    public static final String PASSWORD = "root";
    Class.forName(DRIVER_CLASS);
    JdbcConnectionPool pool = JdbcConnectionPool.create(JDBC_URL, USER, PASSWORD);
    Connection connection = pool.getConnection();

数据库连接池执行SQL语句

    public static final String DRIVER_CLASS = "org.h2.Driver";
    public static final String JDBC_URL = "jdbc:h2:D:/log/h2";
    public static final String USER = "root";
    public static final String PASSWORD = "root";
    public void useConnectionPool() {
        try {
            log.info("start");
            Class.forName(DRIVER_CLASS);
            JdbcConnectionPool pool = JdbcConnectionPool.create(JDBC_URL, USER, PASSWORD);
            Connection connection = pool.getConnection();
            Statement statement = connection.createStatement();
            statement.execute("drop table if exists user_info");
            statement.execute("create table user_info(id integer primary key, name VARCHAR(100), SEX varchar(2))");
            String[] inserts = {"insert into user_info values(1,'jsq','女')", "insert into user_info values(2,'ad','女')", "insert into user_info values(3,'sddf','男')",
                    "insert into user_info values(4,'sfrfe','男')"};
            for (int i = 0; i < 4; i++) {
                Connection conn = pool.getConnection();
                conn.createStatement().executeUpdate(inserts[i]);
            }
            ResultSet resultSet = pool.getConnection().createStatement().executeQuery("select * from user_info");
            while (resultSet.next()) {
                log.info("id is {}, name is {}, sex is {}", resultSet.getInt("id"), resultSet.getString("name"), resultSet.getString("sex"));
            }
        } catch (ClassNotFoundException | SQLException e) {
            log.info("have a exception, which is {}", e.getMessage());
        }
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值