In my java servlet application!
我通过使用
String[] skills = request.getParameterValues("skills");
现在我必须将此字符串 [] 技能组值存储到 oracle db 中!我有 2 个小解决方案 1) 我将通过附加 (,) 或 (/) 将该字符串数组转换为 1 个字符串。然后我将其存储在 db (skill VARCHAR(1000)) 列中。在 db 列中采用这样的大小并不是一个好习惯。2)我有一个计划!我会将所有复选框名称作为 db 中的列,例如(C 布尔值、C++ 布尔值、Java 布尔值.....)。然后在创建表时,我会将它们的所有默认值设为 false。当检查perticuler复选框时,我将插入值true的true,例如在db中,例如,如果用户选择复选框java,则我会因为它的值而插入db true。
从我的角度来看,“这似乎非常复杂的过程”这两个选项很棘手,但不是企业标准使用!除了像这些愚蠢的技巧之外,还有什么方法可以将字符串数组存储在数据库中???
db 中是否有任何数据类型使用我们的 String[] 并返回我们的 string[] ?
如果有的话?请给我详细的步骤!!
提前致谢!
最近我找到了一个解决方案: VARRAY in oracle db =>
SQL> CREATE OR REPLACE TYPE smoketype IS VARRAY(3) OF VARCHAR(30)
2 /
Type created.
SQL> CREATE TABLE register (fname VARCHAR(30), lname VARCHAR(30), gender VARCHAR
(1), smoke SMOKETYPE);
Table created.
SQL> INSERT INTO register VALUES
2 (
3 'omkar','t','m',
4 smoketype('no')
5 );
1 row created.
SQL> INSERT INTO register VALUES
2 (
3 'om','T','m',
4 smoketype('no','not at all')
5 );
1 row created.
SQL> INSERT INTO register VALUES
2 (
3 'onky','T','m',
4 smoketype('no','never','not at all')
5 );
1 row created.
有了上面的..我创建了一个像数组一样接受多个值的类型。但是在我的 servlet 中,当我创建一个语句并从寄存器查询中执行一个 selec * 时,我将获得 ResultSet obj!但是我怎样才能将该smoketype数组检索到String []中呢?我怎样才能检索字符串 [] 值?请有人帮助我?