当前位置: 首页 > news >正文

山西网站建设服务公司百度网络营销中心官网

山西网站建设服务公司,百度网络营销中心官网,商城网站程序,东莞社保官方网站H2数据库特征 用比较简洁的话来介绍h2数据库#xff0c;就是一款轻量级的内存数据库#xff0c;支持标准的SQL语法和JDBC API#xff0c;工业领域中#xff0c;一般会使用h2来进行单元测试。 这里贴一下h2数据库的主要特征 Very fast database engineOpen sourceWritten…H2数据库特征 用比较简洁的话来介绍h2数据库就是一款轻量级的内存数据库支持标准的SQL语法和JDBC API工业领域中一般会使用h2来进行单元测试。 这里贴一下h2数据库的主要特征 Very fast database engineOpen sourceWritten in JavaSupports standard SQL, JDBC APIEmbedded and Server mode, Clustering supportStrong security featuresThe PostgreSQL ODBC driver can be usedMulti version concurrency 还有一些附加的特征也列一下 Disk based or in-memory databases and tables, read-only database support, temporary tablesTransaction support (read uncommitted, read committed, repeatable read, snapshot), 2-phase-commitMultiple connections, row-level lockingCost based optimizer, using a genetic algorithm for complex queries, zero-administrationScrollable and updatable result set support, large result set, external result sorting, functions can return a result setEncrypted database (AES), SHA-256 password encryption, encryption functions, SSL H2数据库的两种连接模式 内嵌模式 Embedded Mode 在内嵌模式中h2数据库和应用程序是在一个JVM进程中这种模式的优点就是速度极快缺点也是显而易见的因为和应用程序在同一个进程中是会共享内存、CPU、线程等资源的如果共享资源没有协调好很有可能就会造成数据库不可用甚至崩溃。 服务器模式 Server Mode 在服务器模式中应用程序是通过JDBC的方式连接h2数据库相比内嵌方式这种模式的速率会有所降低因为有数据传输的损耗。 可能还会有一些资料介绍说有第三种混合模式第三种混合模式是针对两个应用来说的第一个应用使用内嵌的方式连接h2数据库另外一个应用通过服务器模式连接h2数据库其实本质还是这两种模式。 H2数据库集成springboot pom依赖 dependencygroupIdcom.h2database/groupIdartifactIdh2/artifactIdversion2.2.220/version /dependency 配置文件 server:port: 9090mybatis:type-aliases-package: com.tml.mouseDemo.modelmapper-locations: classpath:mapper/*.xmlspring:datasource:driver-class-name: org.h2.Driverurl: jdbc:h2:mem:db_users;MODEMYSQL;INITRUNSCRIPT FROM classpath:init_table.sqlusername: tmlpassword: helloTmlh2:console:enabled: true在单元测试中一般都是使用内嵌内存模式内存模式不会造成数据的污染因为数据会随着程序的结束而销毁 这里的init_table.sql是H2的初始化脚本可以初始化单元测试用例需要的用例数据也贴一下文本 create table t_user (id int not null primary key auto_increment,user_name varchar(100),password varchar(100),status int,create_time datetime);insert into t_user (user_name,password,status,create_time) values (tml,hello world,1,now()); 初始化脚本init_table.sql和配置文件application.yml的层级关系如下图 mapper接口 package com.tml.mouseDemo.mapper;import com.tml.mouseDemo.model.User; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param;import java.util.List;Mapper public interface UserMapper {ListUser listByName(Param(userName) String userName);User getOneUser(Param(uid) Long uid);}实体类 package com.tml.mouseDemo.model;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;import java.io.Serializable; import java.util.Date;Data AllArgsConstructor NoArgsConstructor public class User implements Serializable {private static final long serialVersionUID -4489033966046239802L;private Long id;private String userName;private String password;private Integer status;private Date createTime;}Mapper XML File ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.tml.mouseDemo.mapper.UserMapperresultMap idBaseResultMap typecom.tml.mouseDemo.model.Userid columnid jdbcTypeBIGINT propertyid/result columnuser_name jdbcTypeVARCHAR propertyuserName/result columnpassword jdbcTypeVARCHAR propertypassword/result columncreate_time jdbcTypeTIMESTAMP propertycreateTime/result columnstatus jdbcTypeINTEGER propertystatus//resultMapselect idlistByName resultMapBaseResultMapSELECT *FROM t_user tWHERE t.user_name #{userName}/selectselect idgetOneUser resultMapBaseResultMapSELECT *FROM t_user tWHERE t.id #{uid}/select/mapper至此一个简单的springboot项目集成h2数据库就完成了。 利用h2进行单元测试 一个基于init_table.sql中的初始化数据的断言测试用例如下 package com.tml.mouseDemo;import com.tml.mouseDemo.mapper.UserMapper; import com.tml.mouseDemo.model.User; import lombok.extern.slf4j.Slf4j; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner;import java.util.List;SpringBootTest RunWith(SpringRunner.class) Slf4j public class MouseDemoApplicationTests {Autowiredprivate UserMapper userMapper;Testpublic void testH2() {ListUser users userMapper.listByName(tml);Assert.assertEquals(1, users.size());}}H2数据库控制台 当java进程在运行中的时候并且程序是开启了h2数据库的控制台  【spring.h2.console.enabledtrue】此时是可以直接通过http://localhost:9090/h2-console访问控制台端口是内嵌java应用的端口号登录时需要用账号密码账号密码就是配置文件application.yml中的username、password效果图如下 总结 h2数据库的基本用法就是这样大家可以根据h2数据库自身的特点尽情发挥详情可以参考官网https://www.h2database.com/html/features.html 切记不要在生产环境轻易使用h2数据库
http://www.w-s-a.com/news/967897/

相关文章:

  • 网站浏览器不兼容怎么办软件系统开发大概多少钱
  • 网站建设哪个公司最好shift wordpress
  • 公司网站建设功能介绍室内设计学习
  • 做网站策划容易遇到哪些问题沈阳公司网站制作
  • 做php网站都用框架吗网站备案当面核验拍摄照片
  • 泉州企业自助建站兰州最好的互联网公司
  • 监察部门网站建设方案网站seo技术教程
  • 个人网站制作源代码下载品牌建设部
  • 网站备案需要准备什么文创产品设计思路
  • 网站开发书籍推荐青岛城阳新闻最新消息
  • 秦皇岛网站建设服务聊城做网站的公司资讯
  • 30岁转行做网站设计丰涵网站建设
  • 山东省和住房建设厅网站首页开发商不按时交房可以退房吗
  • asp网站怎么做404页面跳转本地南通网站建设
  • 点击网站出现微信二维码的链接怎么做申请网站空间怎么做
  • 网站开发的论文题目广告设计排行榜
  • 网络营销网站 功能南京h5制作公司
  • 做网站的费用的会计分录合肥做网站推广哪家好
  • 电子商城网站开发怎么wordpress用的什么主题
  • 榆林电商网站建设网上做试卷的网站
  • 文山网站建设代理中公教育培训机构官网
  • 郑州it培训机构有哪些上海外贸网站seo
  • dw做网站的实用特效广东住房与城乡建设厅网站
  • 模板网站 动易哪方面的网站
  • 怎么给网站做外链邵连虎郑州做网页的公司
  • 重庆网站开发哪家好宁波网站建设caiyiduo
  • 手机网站建设价格手机网站模版更换技巧
  • 哈尔滨松北区建设局网站美妆网站建设
  • 不需要网站备案的空间网站推广的基本方法是哪四个
  • 如何检查网站死链劳动仲裁院内部网站建设