Lanzamiento de BeetlSQL 3.14.0, popular herramienta Java ORM

Este lanzamiento @el verano pasado, sugerencia de @Murong

  •  Llamada al método predeterminado de Mapper, compatible con jdk7, jkd8, jdk9, jdk10, jdk11, jdk12, jdk13, jdk14, jdk15, jdk16, jdk17
  • Compatibilidad con Tombstone, el campo Tombstone se considera cuando se realiza una consulta integrada (SQLManager o Query), lo que requiere la configuración de sqlManager.setQueryLogicDeleteEnable para que surta efecto.

ubicación del código de prueba de unidad

    @Test
	public void testLogicDelete(){

		ProductOrder order = new ProductOrder();
		order.setCreateDate(new Date());
		order.setStatus(0);
		sqlManager.insert(order);
		long total = sqlManager.allCount(ProductOrder.class);
		Assert.assertEquals(2,total);
		//逻辑删除
		sqlManager.deleteById(ProductOrder.class,order.getId());
		total = sqlManager.allCount(ProductOrder.class);
		//还是总是2
		Assert.assertEquals(2,total);


		ProductOrder dbOrder = sqlManager.unique(ProductOrder.class,order.getId());
		Assert.assertEquals(1L,dbOrder.getVersion().longValue());

		Query<ProductOrder> query = sqlManager.query(ProductOrder.class);
		query.andEq("id",order.getId());
		dbOrder = query.unique();
		Assert.assertEquals(1L,dbOrder.getVersion().longValue());

		//如下代码包测试逻辑删除部分,实际情况是需要配置QueryLogicDeleteEnable
		//删除生成的缓存
		sqlManager.refresh();
		sqlManager.setQueryLogicDeleteEnable(true);

		//考虑逻辑删除,查询不出来
		dbOrder = sqlManager.single(ProductOrder.class,order.getId());
		Assert.assertNull(dbOrder);

		query = sqlManager.query(ProductOrder.class);
		query.andEq("id",order.getId());
		dbOrder = query.single();
		Assert.assertNull(dbOrder);

		//逻辑删除不在查询范围内
		long newTotal  = sqlManager.allCount(ProductOrder.class);
		Assert.assertEquals(1,newTotal);

		newTotal  = sqlManager.all(ProductOrder.class).size();
		Assert.assertEquals(1,newTotal);


		ProductOrder template = new ProductOrder();
		template.setId(order.getId());
		int queryCount = sqlManager.template(template).size();
		Assert.assertEquals(0,queryCount);

		//恢复默认值
		sqlManager.refresh();
		sqlManager.setQueryLogicDeleteEnable(false);

	}
dependency>
    <groupId>com.ibeetl</groupId>
    <artifactId>beetlsql</artifactId>
    <version>3.14.0-RELEASE</version>
</dependency>

    BeetlSQL se ha desarrollado de forma independiente desde 2015. El objetivo es proporcionar un marco de acceso a datos que sea eficiente en desarrollo, mantenimiento y operación. Tiene una amplia gama de aplicaciones, fuerte personalización y es particularmente sencillo para escribir código de acceso a bases de datos, nada menos. que MyBatis. Ya sea que no desee escribir SQL o desee escribir SQL mejor, BeetlSQL puede cumplir con este requisito. Las bases de datos compatibles actualmente son las siguientes

  • Bases de datos tradicionales: MySQL (incluidas varias bases de datos compatibles con el protocolo MySQL), MariaDB, Oralce, Postgres (incluidas varias bases de datos compatibles con el protocolo Postgres), DB2, SQL Server, H2, SQLite, Derby, Shentong, Dameng, Huawei Gauss, NPC Jincang, PolarDB, GBase8s, GreatSQL, etc.
  • Grandes datos: HBase, ClickHouse, Cassandar, Hive, GreenPlum
  • Base de datos de series temporales de IoT: Machbase, TD-Engine, IotDB
  • Motor de consultas SQL: Drill, Presto, Druid
  • Bases de datos en memoria: ignite, CouchBase

Lea el código fuente de la documentación y los ejemplos para experimentar la prueba de rendimiento de uso de varias bibliotecas en línea     

Supongo que te gusta

Origin www.oschina.net/news/190576/beetlsql-3-14-0-released
Recomendado
Clasificación