`
uule
  • 浏览: 6368785 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

读取一个SQL文件 + 批量执行batchUpdate(String[ ])

阅读更多

  读取文件:先将文件转换为 InputStream流,然后再将流转为String

Thread.currentThread().getContextClassLoader().getResourceAsStream(resource)

  批量执行:

 

String content = FileUtil.readFile("com/enation/javashop/produceArea.sql");

 FileUtil.java:

	public static String readFile(String resource) {
		InputStream stream = getResourceAsStream(resource);
		String content = readStreamToString(stream);
		return content;
	}
 
	public static InputStream getResourceAsStream(String resource) {
		String stripped = resource.startsWith("/") ? resource.substring(1): resource;
		InputStream stream = null;
		ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
		if (classLoader != null) {
			stream = classLoader.getResourceAsStream(stripped);
		}
		return stream;
	}
 
	public static String readStreamToString(InputStream stream) {
		String fileContent = "";
		try {
			InputStreamReader read = new InputStreamReader(stream, "utf-8");
			BufferedReader reader = new BufferedReader(read);
			String line;
			while ((line = reader.readLine()) != null) {
				fileContent = fileContent + line + "\n";
			}
			read.close();
			read = null;
			reader.close();
			read = null;
		} catch (Exception ex) {
			fileContent = "";
		}
		return fileContent;
	}

 Game Over!

 

批量执行:

sql:

INSERT INTO `es_produce_area_<userid>_<siteid>` VALUES ('1', '0', ',0,', '1', '杭州市','1');
INSERT INTO `es_produce_area_<userid>_<siteid>` VALUES ('2', '1', ',1,2,', '2', '上城区', '2');
 
String[] sql_ar = content.split(";\n");

 

 
jdbcTemplate.batchUpdate(sql_ar);
  • 大小: 13.2 KB
分享到:
评论

相关推荐

    EasyExcel 并发读取文件字段并进行校验,数据写入到新文件,批量插入数据到数据库

    首先,我们需要将读取到的数据保存在一个集合中,然后调用`executeBatchInsert`,传入集合和插入SQL语句,即可完成批量插入操作。 6. **代码示例** 下面是一段简单的代码示例,展示如何使用EasyExcel进行并发读取...

    针对SQL Server将多个SQL语句作为一个执行

    在开始一个事务后,可以连续执行多个SQL语句,这些语句会作为一个整体被提交或回滚。以下是一个简单的示例: ```csharp using (SqlConnection connection = new SqlConnection(connectionString)) { connection....

    使用Spring JDBCTemplate进行增删改查curd操作

    jdbcTemplate.batchUpdate(sql, batchArgs); } ``` 6. 防止SQL注入 JdbcTemplate使用PreparedStatement来执行SQL,自动防止SQL注入攻击,因为它会正确地转义参数值。 7. 错误处理 如果数据库操作失败,...

    Spring JdbcTemplate api

    通过`getJdbcTemplate().batchUpdate(sql, ter)`,可以将传入的`List`对象批量进行数据库操作。 #### 数据读取与结果处理 使用`JdbcTemplate`读取数据时,可以通过`query`方法结合`RowCallbackHandler`或自定义的`...

    dbutils工具类

    通过`QueryRunner`的`batch()`方法,你可以执行一系列的SQL语句作为一个批处理。批处理有助于提高性能,尤其是在大量数据操作时。同时,`QueryRunner`还提供了`beginTransaction()`、`commit()`和`rollback()`方法来...

    Java 代码从Excel表写入数据库

    首先,Apache POI是Java社区开发的一个开源库,专门用于处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)。通过使用POI,我们可以方便地在Java程序中创建、修改和读取Excel工作簿、工作表和单元格。 1. **...

    数据库jdbc

    创建`Statement`对象后,调用其`executeQuery(String sql)`方法执行查询,返回一个`ResultSet`对象,它包含了查询结果。遍历`ResultSet`,可以获取每一行数据。 5. **预编译语句(PreparedStatement)**:预编译的...

    JDBC连接实现简单学生管理系统(附数据库).zip

    本项目“JDBC连接实现简单学生管理系统”旨在通过JDBC技术,创建一个能够连接数据库并展示人员信息的管理系统。下面我们将详细探讨JDBC的使用、SQL数据库的操作以及Java在其中的角色。 1. **JDBC基础** JDBC是Java...

    day14--dbutils的使用_事务处理_多表操作_oracle大数据处理

    例如,读取一个大文本文件并将其存储为CLOB类型: ```java File file = new File("path/to/large/text/file.txt"); try (FileReader reader = new FileReader(file)) { SerialClob clob = new SerialClob(IOUtils....

    ADO.NET 2.0的新增功能

    2. **Bulk Copy Operation**:批量复制操作是用于高效地将大量数据从一个数据源(如文件或内存中的数据)一次性复制到另一个数据源(如SQL Server表)。SqlBulkCopy 类提供了这个功能,可以大大减少数据传输的时间。...

    1000道 互联网Java工程师面试题 485页

    #### 9、通常一个Xml映射文件,都会写一个Dao接口与之对应,请问,这个Dao接口的工作原理是什么?Dao接口里的方法,参数不同时,方法能重载吗? - **工作原理**:通过接口+代理的方式,利用`SqlSession`动态创建...

    详解jdbc实现对CLOB和BLOB数据类型的操作

    下面是一个基本的读取CLOB数据的示例代码: ```java Connection con = ConnectionFactory.getConnection(); con.setAutoCommit(false); Statement st = con.createStatement(); ResultSet rs = st.executeQuery(...

    C++OTL使用说明

    OTL提供了一个`sqlcode()`方法,用于获取最近的SQL错误代码,以及`get_errmsg()`方法获取错误消息。这些可以帮助诊断和调试数据库相关问题。 ### 8. 性能优化 OTL的高效性能得益于它的内存管理和流式API。尽量避免...

    hibernate3.1参考手册中文版.pdf

    - **映射文件**:每个持久化类都需要有一个对应的 XML 映射文件,如 `Customer.hbm.xml`,其中定义了该类与数据库表之间的映射关系。 #### 四、核心功能详解 1. **对象关系映射**:这是 Hibernate 最为核心的功能...

    hibernate.rar

    1. 使用批处理:通过设置hibernate.jdbc.batch_size,批量执行插入、更新操作。 2. 使用二级缓存:提高数据检索速度。 3. 合理设计对象关系映射:避免N+1查询问题,优化HQL语句。 总之,Hibernate作为Java ORM的...

    hibernatevvhibernatehibernatehibernate

    1. 合理使用批处理:通过设置batch_size属性,批量处理SQL语句,减少数据库交互次数。 2. 使用懒加载:只在真正需要时加载关联对象,避免数据冗余。 3. 第二级别缓存:缓存经常访问的数据,减少数据库压力。 4. 查询...

    hibernate的查询方式介绍和hibernate的批处理和连接池配置hibernate

    HQL 是 Hibernate 自带的一种类似于 SQL 的查询语言,它可以用来执行各种数据库操作。HQL 支持面向对象的语法,使得查询更加直观。 - **标准 HQL** - **读取数据** - `select` 子句用于指定要获取的数据字段。 -...

    SQOOP导入和导出参数.pdf

    - **--append**:将数据追加到HDFS上一个已存在的数据集上。 - **--as-avrodatafile**:将数据导入到Avro数据文件格式中。 - **--as-sequencefile**:将数据导入到SequenceFile格式中。 - **--as-textfile**:将数据...

    hibernate 简约范例

    例如,一个名为`User`的实体类对应数据库中的`users`表。每个字段使用`@Column`注解,指定对应的列名。 ```java @Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private...

Global site tag (gtag.js) - Google Analytics