`
lizhensan
  • 浏览: 377599 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jdbc 直接调用DDL

 
阅读更多
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操作ddl使用jacob

    总结来说,Java通过Jacob库和COM组件进行DDL操作,主要适用于那些需要在Java中调用Windows特定功能或需要与非JDBC兼容的数据库系统交互的场景。虽然这种方式增加了系统的复杂性,但在某些情况下,它可以提供更广泛的...

    Java Database Programming with JDBC

    第五章"Accessing ODBC Services Using JDBC"讲解了如何通过JDBC使用ODBC服务,讨论了JDBC-ODBC桥接器的必要条件和限制,以及如何构建ODBC URL,明确了从JDBC到ODBC的调用流程。 第六章"SQL Data Types In Java And...

    神通数据库JDBC驱动包

    对于DML和DDL语句,检查受影响的行数。 5. 关闭资源:确保每次操作后关闭Statement、ResultSet和Connection,避免资源泄漏。 在实际开发中,推荐使用DataSource,因为它能更好地管理数据库连接,提高应用程序的...

    JDBC课件

    - SQL语言:包括DDL(数据定义语言)、DML(数据操纵语言)、DQL(数据查询语言)和DCL(数据控制语言)。 - 数据库设计:涉及ER模型、范式理论、关系数据库设计。 - 数据库优化:索引、查询优化、存储引擎选择等。 ...

    java,JDBC例子

    如果需要手动控制事务,可以在开始操作前调用`setAutoCommit(false)`,并在所有操作完成后调用`commit()`提交事务,或者在发生错误时调用`rollback()`回滚。 9. **批处理**:使用`addBatch()`方法添加多个SQL语句到...

    JDBC操作技术 PDF

    虽然JDBC提供了直接操作数据库的能力,但在实际开发中,为了提高开发效率和代码可维护性,常使用Hibernate、MyBatis等ORM(Object-Relational Mapping)框架,它们在JDBC基础上封装了一层,提供了更高级别的抽象。...

    jdbc连接hive数据库的驱动jar包

    Hive驱动包通常包含`org.apache.hive.jdbc.HiveDriver`和其他相关类,这些类实现了JDBC接口,使得Java程序可以调用Hive服务。 在压缩包子文件的文件名称列表中,只提到了“hive驱动包”,这可能表示压缩包内只有一...

    Mysql5.6、Mysql5.7 JDBC驱动

    同时,InnoDB存储引擎的事务性能得到增强,支持了在线DDL(Data Definition Language),这意味着在执行DDL操作时,不会阻塞其他用户对表的读写操作。另外,5.7还改进了查询优化器,支持更多的索引类型,如空间索引...

    JDBC基础.ppt

    3. **运用SQL语句**:学习如何在Java程序中编写和执行SQL查询,包括DML(Data Manipulation Language)和DDL(Data Definition Language)语句。 4. **异常处理**:学习如何在数据库操作中正确地捕获和处理异常,以...

    jmeter的JDBC测试

    在实际测试过程中,为了确保数据的一致性和可重复性,通常会在测试前后执行DDL(Data Definition Language)语句,如CREATE TABLE、DROP TABLE等,这可以通过JDBC请求采样器实现。同时,还可以通过“前置处理器”和...

    jdbc连接数据库步骤

    - executeUpdate():用于执行INSERT、UPDATE、DELETE语句以及SQLDDL语句,如创建表和删除表。 - execute():用于执行返回多个结果集、多个更新计数或二者组合的语句。 5. 执行SQL语句: 使用Statement实例,可以...

    JDBC数据访问接口

    SQL是关系数据库的标准语言,它包含了DDL(Data Definition Language)用于创建、修改或删除数据库对象,如表、视图等;DML(Data Manipulation Language)用于查询和操纵数据,包括SELECT、INSERT、UPDATE和DELETE...

    jdbc.zip_jdbc学生管理_jdbc系统

    4. **执行SQL**:调用`Statement`或`PreparedStatement`的`executeQuery()`或`executeUpdate()`方法,前者用于执行返回结果集的SQL(如SELECT),后者用于执行DML(INSERT、UPDATE、DELETE)或DDL(CREATE、ALTER等...

    jdbc学习文档

    具体而言,可以使用`executeQuery()`方法执行查询语句(SELECT),使用`executeUpdate()`方法执行更新语句(INSERT、UPDATE、DELETE),或者使用`execute()`方法执行DDL语句(CREATE、DROP)。 4. **处理结果集**:...

    jdbc 知识点详解

    - `executeUpdate()`: 用于INSERT, UPDATE, DELETE和DDL语句 - `executeQuery()`: 用于SELECT查询 4. **固定驱动**:通过`new`关键字创建特定驱动实例并注册到`DriverManager`,避免自动查找驱动。 5. **驱动...

    第五章 JDBC连接数据库.pdf

    需要注意的是,JDBC API不是面向对象的数据库访问机制,而是基于一套规则和约定,使得Java程序可以调用数据库,执行SQL语句并返回结果。在现代Java开发中,更推荐使用面向对象的JPA(Java Persistence API)或者...

    JDBC API数据库编程实作教材

    此外,了解SQL语言的基本概念和语法至关重要,包括DQL(数据查询语言)、DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言)。熟悉这些,才能更好地利用JDBC API进行数据库操作。 总结来说,"JDBC API...

    jdbc的Java数据库编程

    然而,随着原生JDBC驱动程序的发展,这种桥接方式逐渐被更高效、更直接的连接方法所取代。 #### 2. SQL基础与JDBC的应用 **关系模型与SQL** SQL(Structured Query Language)是用于管理关系数据库的标准语言,它...

    JDBC_MYSQL.rar_JDBC-MYSQL_java jdbc mysql_java sql 简单

    - JDBC提供对数据库事务的支持,通过`Connection`对象的`setAutoCommit(false)`来禁用自动提交,然后手动调用`commit()`或`rollback()`来控制事务边界。 8. **连接池**: - 在实际应用中,为了提高性能和资源利用...

    ant调用java类

    jdbd.classPath=D:/testset_root/001_JDBCDriver/oracle/JDK14/10gR2 ``` 在 Ant 脚本中,可以通过 `<property>` 标签加载这些属性,例如: ```xml ``` 最后,通过 `<antcall>` 标签可以在一个 Ant 目标中调用另...

Global site tag (gtag.js) - Google Analytics