package client.frw;
import java.sql.Connection;
import java.sql.Statement;
import org.apache.commons.lang.RandomStringUtils;
import org.junit.Test;
public class MysqlLockTest {
@Test
public void testAddPartition() throws Exception {
Connection conn = MysqlConnectionTest.createConnection();
conn.setAutoCommit(false);
Statement st = conn.createStatement();
String insert = "alter table kaps_zjyils add PARTITION (PARTITION p" + RandomStringUtils.randomNumeric(8) + " values less than('20150424'));";
System.out.println(insert);
st.execute(insert);
conn.rollback();//rollback不起作用
}
@Test
public void testCreateTest2() throws Exception {
Connection conn = MysqlConnectionTest.createConnection();
conn.setAutoCommit(false);
Statement st = conn.createStatement();
String insert = "insert into tb_test1 values('" + RandomStringUtils.randomNumeric(8) + "')";
System.out.println(insert);
st.execute(insert);
//ddl 自动提交
String ddl = "create table t" + RandomStringUtils.randomNumeric(8) + " (name1 varchar (30) null)";
st.execute(ddl);
System.out.println(ddl);
insert = "insert into tb_test1 values('" + RandomStringUtils.randomNumeric(8) + "')";
System.out.println(insert);
st.execute(insert);
conn.rollback();
}
@Test
public void testDropTest2() throws Exception {
Connection conn = MysqlConnectionTest.createConnection();
conn.setAutoCommit(false);
String ddl = "drop table tb_test1;";
System.out.println(ddl);
System.out.println(conn.createStatement().execute(ddl));
// conn.commit();
conn.rollback();
}
@Test
public void testCreateTest1() throws Exception {
Connection conn = MysqlConnectionTest.createConnection();
conn.setAutoCommit(false);
String ddl = "create table tb_test1 (name1 varchar (30) null);";
System.out.println(ddl);
System.out.println(conn.createStatement().execute(ddl));
// conn.commit();
conn.rollback();
}
}
查询分区的方法
SELECT
partition_name part,
partition_expression expr,
partition_description descr,
table_rows
FROM
INFORMATION_SCHEMA.partitions
WHERE
TABLE_SCHEMA = schema()
AND TABLE_NAME='table';
对ddl操作,不支持事物,自动commit
分享到:
相关推荐
总结来说,Java通过Jacob库和COM组件进行DDL操作,主要适用于那些需要在Java中调用Windows特定功能或需要与非JDBC兼容的数据库系统交互的场景。虽然这种方式增加了系统的复杂性,但在某些情况下,它可以提供更广泛的...
第五章"Accessing ODBC Services Using JDBC"讲解了如何通过JDBC使用ODBC服务,讨论了JDBC-ODBC桥接器的必要条件和限制,以及如何构建ODBC URL,明确了从JDBC到ODBC的调用流程。 第六章"SQL Data Types In Java And...
对于DML和DDL语句,检查受影响的行数。 5. 关闭资源:确保每次操作后关闭Statement、ResultSet和Connection,避免资源泄漏。 在实际开发中,推荐使用DataSource,因为它能更好地管理数据库连接,提高应用程序的...
- SQL语言:包括DDL(数据定义语言)、DML(数据操纵语言)、DQL(数据查询语言)和DCL(数据控制语言)。 - 数据库设计:涉及ER模型、范式理论、关系数据库设计。 - 数据库优化:索引、查询优化、存储引擎选择等。 ...
如果需要手动控制事务,可以在开始操作前调用`setAutoCommit(false)`,并在所有操作完成后调用`commit()`提交事务,或者在发生错误时调用`rollback()`回滚。 9. **批处理**:使用`addBatch()`方法添加多个SQL语句到...
虽然JDBC提供了直接操作数据库的能力,但在实际开发中,为了提高开发效率和代码可维护性,常使用Hibernate、MyBatis等ORM(Object-Relational Mapping)框架,它们在JDBC基础上封装了一层,提供了更高级别的抽象。...
Hive驱动包通常包含`org.apache.hive.jdbc.HiveDriver`和其他相关类,这些类实现了JDBC接口,使得Java程序可以调用Hive服务。 在压缩包子文件的文件名称列表中,只提到了“hive驱动包”,这可能表示压缩包内只有一...
同时,InnoDB存储引擎的事务性能得到增强,支持了在线DDL(Data Definition Language),这意味着在执行DDL操作时,不会阻塞其他用户对表的读写操作。另外,5.7还改进了查询优化器,支持更多的索引类型,如空间索引...
3. **运用SQL语句**:学习如何在Java程序中编写和执行SQL查询,包括DML(Data Manipulation Language)和DDL(Data Definition Language)语句。 4. **异常处理**:学习如何在数据库操作中正确地捕获和处理异常,以...
在实际测试过程中,为了确保数据的一致性和可重复性,通常会在测试前后执行DDL(Data Definition Language)语句,如CREATE TABLE、DROP TABLE等,这可以通过JDBC请求采样器实现。同时,还可以通过“前置处理器”和...
- executeUpdate():用于执行INSERT、UPDATE、DELETE语句以及SQLDDL语句,如创建表和删除表。 - execute():用于执行返回多个结果集、多个更新计数或二者组合的语句。 5. 执行SQL语句: 使用Statement实例,可以...
SQL是关系数据库的标准语言,它包含了DDL(Data Definition Language)用于创建、修改或删除数据库对象,如表、视图等;DML(Data Manipulation Language)用于查询和操纵数据,包括SELECT、INSERT、UPDATE和DELETE...
4. **执行SQL**:调用`Statement`或`PreparedStatement`的`executeQuery()`或`executeUpdate()`方法,前者用于执行返回结果集的SQL(如SELECT),后者用于执行DML(INSERT、UPDATE、DELETE)或DDL(CREATE、ALTER等...
具体而言,可以使用`executeQuery()`方法执行查询语句(SELECT),使用`executeUpdate()`方法执行更新语句(INSERT、UPDATE、DELETE),或者使用`execute()`方法执行DDL语句(CREATE、DROP)。 4. **处理结果集**:...
- `executeUpdate()`: 用于INSERT, UPDATE, DELETE和DDL语句 - `executeQuery()`: 用于SELECT查询 4. **固定驱动**:通过`new`关键字创建特定驱动实例并注册到`DriverManager`,避免自动查找驱动。 5. **驱动...
需要注意的是,JDBC API不是面向对象的数据库访问机制,而是基于一套规则和约定,使得Java程序可以调用数据库,执行SQL语句并返回结果。在现代Java开发中,更推荐使用面向对象的JPA(Java Persistence API)或者...
此外,了解SQL语言的基本概念和语法至关重要,包括DQL(数据查询语言)、DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言)。熟悉这些,才能更好地利用JDBC API进行数据库操作。 总结来说,"JDBC API...
然而,随着原生JDBC驱动程序的发展,这种桥接方式逐渐被更高效、更直接的连接方法所取代。 #### 2. SQL基础与JDBC的应用 **关系模型与SQL** SQL(Structured Query Language)是用于管理关系数据库的标准语言,它...
- JDBC提供对数据库事务的支持,通过`Connection`对象的`setAutoCommit(false)`来禁用自动提交,然后手动调用`commit()`或`rollback()`来控制事务边界。 8. **连接池**: - 在实际应用中,为了提高性能和资源利用...
jdbd.classPath=D:/testset_root/001_JDBCDriver/oracle/JDK14/10gR2 ``` 在 Ant 脚本中,可以通过 `<property>` 标签加载这些属性,例如: ```xml ``` 最后,通过 `<antcall>` 标签可以在一个 Ant 目标中调用另...