Path: csiph.com!aioe.org!.POSTED!not-for-mail From: =?UTF-8?Q?Arne_Vajh=c3=b8j?= Newsgroups: comp.lang.java.programmer Subject: Re: Is there a SQL hashmap? Date: Tue, 26 Jun 2018 12:23:50 -0400 Organization: Aioe.org NNTP Server Lines: 46 Message-ID: References: <031dadbc-3c27-4021-9b1d-8cb860c5e9f6@googlegroups.com> NNTP-Posting-Host: PBuS014lhzVyHjLbXmo/ZQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 Content-Language: en-US X-Notice: Filtered by postfilter v. 0.8.3 Xref: csiph.com comp.lang.java.programmer:38409 On 6/26/2018 12:03 PM, Eric Douglas wrote: > I'm using JDBC with java.sql.PreparedStatement on SQL Server 2012. > > I'm trying to write a translate that says "select (where > table1.field = ) from table1" > > Getting a bit tired of writing it as "select iif(table1.field = > 'first key','first value',iif(table1.field = 'second key','second > value','default')) from table1" > > Just a better syntax to do such a thing within the SQL, or a way to > pass the values as a parameter? Ideally I would just create a table > and write the values there and join that table, but I don't want to > alter that database which was created by our third party > application. > > I was hoping to avoid the other option, modifying the code that gets > the results of the query to translate that result field, since this > section of the code is generic - used to send the results of multiple > queries to a spreadsheet. I think you already considered the two most obvious options. 1) Database table and JOIN. 2) Translate in application code. Note that #2 is a lot more elegant if using JPA than plain JDBC. String mappedfield1 = valmap.get(rs.getString("field1")); vs: @Column private String field1; ... public String getField1() { return field1; } public String getMappedField1() { return valmap.get(field1); } Arne