java保存的时候保存多张表,表驱动,如何在表中存储一个方法

本文探讨了在处理不常变动且至关重要的数据时,如何选择使用数据库或代码实现。提到数据库的优势在于数据的安全性和持久性,而代码如if...else、switch、enum、三目运算符等则提供更快的执行速度。通过创建系统资源表的示例,说明了数据库建表和查询的方法,强调了表驱动法在某些场景下的适用性。
摘要由CSDN通过智能技术生成

如果需要使用表来维护的数据,都是很少有变动,并且很重要的数据。因为查表的速度肯定不如直接执行代码来得快。如果用代码解决,你可以使用:

1.if...else

2.switch...

3.enum..枚举值来匹配

4.?: 三目运算符来解决

或者用表驱动法

#建表语句

CREATE TABLE `resource` (

`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',

`gmt_create` datetime NOT NULL COMMENT '数据新增时间',

`creator` varchar(128) NOT NULL DEFAULT '0' COMMENT '创建者',

`gmt_modified` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '数据修改时间',

`modifier` varchar(128) NOT NULL DEFAULT '0' COMMENT '修改者',

`is_deleted` char(1) NOT NULL DEFAULT 'n' COMMENT '是否逻辑删除,默认为n',

`type` varchar(32) DEFAULT NULL COMMENT '资源类型',

`name` varchar(64) DEFAULT NULL COMMENT '资源名称',

`value` varchar(2048) DEFAULT NULL COMMENT '值',

`ordering` bigint(20) DEFAULT NULL COMMENT '排序',

PRIMARY KEY (`id`)

) ENGINE=InnoDB AUTO_INCREMENT=3026 DEFAULT CHARSET=utf8 COMMENT='系统资源表';

#运行SQL:

SELECT

r.VALUE

FROM

resource r

WHERE

NAME = #{传入参数}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java导入Excel到数据库多张表中的示例代码: ```java import java.io.File; import java.io.FileInputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import java.util.Iterator; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook;import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class ExcelImporter { public static void main(String[] args) { String excelFilePath = "path/to/excel/file.xlsx"; try { FileInputStream inputStream = new FileInputStream(new File(excelFilePath)); Workbook workbook = new XSSFWorkbook(inputStream); Iterator<Sheet> sheetIterator = workbook.iterator(); while (sheetIterator.hasNext()) { Sheet sheet = sheetIterator.next(); String tableName = sheet.getSheetName(); Iterator<Row> rowIterator = sheet.iterator(); while (rowIterator.hasNext()) { Row row = rowIterator.next(); Iterator<Cell> cellIterator = row.cellIterator(); // 获取数据库连接 Connection connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "username", "password"); // 构建插入语句 StringBuilder sql = new StringBuilder(); sql.append("INSERT INTO ").append(tableName).append(" VALUES ("); for (int i = 0; i < row.getLastCellNum(); i++) { sql.append("?,"); } sql.deleteCharAt(sql.length() - 1); sql.append(")"); // 创建预编译语句 PreparedStatement statement = connection.prepareStatement(sql.toString()); int cellIndex = 0; while (cellIterator.hasNext()) { Cell cell = cellIterator.next(); statement.setString(cellIndex + 1, cell.getStringCellValue()); cellIndex++; } // 执行插入语句 statement.executeUpdate(); // 关闭连接和语句 statement.close(); connection.close(); } } workbook.close(); inputStream.close(); System.out.println("Excel导入到数据库成功!"); } catch (Exception e) { e.printStackTrace(); } } } ``` 请注意,上述代码中的数据库连接信息需要根据实际情况进行修改。此外,还需要添加Apache POI和MySQL驱动的依赖。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值