首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用数组在MySQL中插入值

使用数组在MySQL中插入值
EN

Stack Overflow用户
提问于 2019-08-13 04:03:30
回答 1查看 37关注 0票数 0

我有一个非常大的输入表单,有超过90个字段,我需要将所有的值存储在数据库中。

下面只是一个测试示例代码,用来展示我现在是如何插入我的值的。

代码语言:javascript
运行
复制
public void insertToDB() {
		Connection con = SoftwareConnectionFactory.getInstance().getConnection();
		PreparedStatement ps = null;

		String sql = "INSERT INTO person.test (name, class, subject) "
				+ "VALUES(?,?,?)";
		try {
			ps = con.prepareStatement(sql);
			ps.setString(1, name);
			ps.setString(2, class);
			ps.setString(3, subject);
			
			 ps.executeUpdate();
			
		} catch (Exception e) {
			log.error("error storing into db: " + e.getMessage());
		} finally {
			SoftwareConnectionFactory.getInstance().closeConnection(con);
		}		
	}

上面的代码运行得很好,但我正在尝试通过在数组的帮助下设置它来找到一种简洁的编码方式。我调查了以下内容:

代码语言:javascript
运行
复制
String[] check = { name, class, subject };
Array arrayCcheck = con.createArrayOf("VARCHAR", check);

我当前的dbpc不支持createArrayOf,我正在尝试寻找替代方法。我已经尝试更新我的jar文件,但上面的方法仍然不起作用。我试着让我的代码尽可能的简短。任何帮助都是非常感谢的。谢谢。

EN

Stack Overflow用户

发布于 2019-08-13 05:10:08

我的建议如下:

将表中的字段数量减少到当前用于搜索查询的字段(您还可以考虑将来可能使用的字段)。因此,您将不会有90字段表。

要存储其他所有内容,可以将对象解析为JSON并将整个对象存储在一个附加的表字段中。当你要从数据库中读取数据时,你会把它解析回来。

因此,你将会得到类似这样的东西:

代码语言:javascript
运行
复制
ObjectWith90Fields obj;
String sql = "INSERT INTO person.test (name, class, json) "
                + "VALUES(?,?,?)";
        try {
            ps = con.prepareStatement(sql);
            ps.setString(1, obj.getName());
            ps.setString(2, obj.getClass());
            ps.setString(3, createJson(obj));

             ps.executeUpdate();

        }

朗读

代码语言:javascript
运行
复制
ObjectWith90Fields obj;
String sql = "SELECT * FROM person.test";
        try {
            st = con.createStatement(sql);
            ResultSet rs = st.execute(sql);
            ObjectWith90Fields obj = parseJson(rs.getString("json"));           

        }
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57467596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档