|
|
|
JSF - работа с БД(insert, update, delete)
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Подскажите как можно добалять записи в БД (Oracle) используя JSF package Util; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; import java.util.LinkedList; import java.util.List; import javax.faces.component.html.HtmlForm; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.faces.model.DataModel; import javax.faces.model.ArrayDataModel; public class TableData { public static ResultSet rs; public List<TableData> names = new LinkedList<TableData>(); private HtmlForm frmGuest = new HtmlForm(); private String resRec; public String uidr; public String title; public String model; public Date created; public String expired; public long ordno; public long entity_id; public void setUidr(String uidr) { this.uidr = uidr; } public String getUidr() { return uidr; } public void setTitle(String title) { this.title = title; } public String getTitle() { return title; } public void setModel(String model) { this.model = model; } public String getModel() { return model; } public void setCreated(Date created) { this.created = created; } public Date getCreated() { return created; } public void setExpired(String expired) { this.expired = expired; } public String getExpired() { return expired; } public void setOrdno(long ordno) { this.ordno = ordno; } public long getOrdno() { return ordno; } public void setEntity_id(long entity_id) { this.entity_id = entity_id; } public Long getEntity_id() { return entity_id; } public static Connection getDBC(String jndiConnectionAlias) { Context ctxEnv = null; Context ctxInitial = null; try { ctxInitial = new InitialContext(); ctxEnv = (Context) ctxInitial.lookup("java:comp/env"); javax.sql.DataSource ds = (javax.sql.DataSource)ctxEnv.lookup( jndiConnectionAlias ); Connection dbc = ds.getConnection(); return dbc; } catch (NamingException ne) { ne.printStackTrace(); } catch (SQLException se) { se.printStackTrace(); } finally { try { if (ctxEnv!=null) { ctxEnv.close(); ctxEnv = null; } if (ctxInitial!=null) { ctxInitial.close(); ctxInitial = null; } } catch (NamingException ne) { ne.printStackTrace(); } } return null; } public List<TableData> getList() throws SQLException{ Connection dbc = null; dbc = getDBC("jdbc/dbcJSF"); try { Statement st = dbc.createStatement(); String cmd = "SELECT uidr, entity_id, title, created, expired, ordno, rings.model " + "FROM circle, rings " + "WHERE circle.ring_id = rings.rigid " + "ORDER BY uidr"; try { rs = st.executeQuery(cmd); while( rs.next() ) { TableData n = new TableData(); n.setUidr(rs.getString("uidr")); n.setTitle(rs.getString("title")); n.setCreated(rs.getDate("created")); n.setEntity_id(rs.getInt("entity_id")); n.setExpired(rs.getString("expired")); n.setModel(rs.getString("model")); n.setOrdno(rs.getInt("ordno")); names.add(n); } } catch(SQLException se) { System.out.println(se.getMessage()); } } catch(SQLException se) { System.out.println(se.getMessage() ); } dbc.close(); dbc = null; return names; } public List<TableData> getValues() throws SQLException{ Connection dbc = null; dbc = getDBC("jdbc/dbcJSF"); try { Statement st = dbc.createStatement(); String cmd = "SELECT title FROM circle"; try { rs = st.executeQuery(cmd); while( rs.next() ) { TableData n = new TableData(); n.setTitle(rs.getString("title")); names.add(n); } } catch(SQLException se) { System.out.println(se.getMessage()); } } catch(SQLException se) { System.out.println(se.getMessage() ); } dbc.close(); dbc = null; return names; } private boolean saveToDatabase() throws SQLException{ try { Connection dbc = null; dbc = getDBC("jdbc/dbcJSF"); Statement statement = dbc.createStatement(); statement.execute("INSERT INTO circle (entity_id, title, ring_id, created, expired, ordno) VALUES (1, '"+title+"', '1', to_date('10.10.07','dd.mm.yy'), '213', 2)"); //System.out.println(title); } catch(Exception e) { return false; } uidr=""; title=""; model=""; created=null; expired=""; setOrdno(0); return true; } public String onClick() throws SQLException{ boolean result = saveToDatabase(); if (result) return "success"; else return "failure"; } } Такой способ работает, но все сетеры и гетеры нужно вынести в отдельный класс. Как правильно это сделать? Заранее благодарен! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 13:09:17 |
|
||
|
JSF - работа с БД(insert, update, delete)
|
|||
|---|---|---|---|
|
#18+
yaros-hoiЗдравствуйте! Подскажите как можно добалять записи в БД (Oracle) используя JSF package Util; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; import java.util.LinkedList; import java.util.List; import javax.faces.component.html.HtmlForm; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.faces.model.DataModel; import javax.faces.model.ArrayDataModel; public class TableData { public static ResultSet rs; public List<TableData> names = new LinkedList<TableData>(); private HtmlForm frmGuest = new HtmlForm(); private String resRec; public String uidr; public String title; public String model; public Date created; public String expired; public long ordno; public long entity_id; public void setUidr(String uidr) { this.uidr = uidr; } public String getUidr() { return uidr; } public void setTitle(String title) { this.title = title; } public String getTitle() { return title; } public void setModel(String model) { this.model = model; } public String getModel() { return model; } public void setCreated(Date created) { this.created = created; } public Date getCreated() { return created; } public void setExpired(String expired) { this.expired = expired; } public String getExpired() { return expired; } public void setOrdno(long ordno) { this.ordno = ordno; } public long getOrdno() { return ordno; } public void setEntity_id(long entity_id) { this.entity_id = entity_id; } public Long getEntity_id() { return entity_id; } public static Connection getDBC(String jndiConnectionAlias) { Context ctxEnv = null; Context ctxInitial = null; try { ctxInitial = new InitialContext(); ctxEnv = (Context) ctxInitial.lookup("java:comp/env"); javax.sql.DataSource ds = (javax.sql.DataSource)ctxEnv.lookup( jndiConnectionAlias ); Connection dbc = ds.getConnection(); return dbc; } catch (NamingException ne) { ne.printStackTrace(); } catch (SQLException se) { se.printStackTrace(); } finally { try { if (ctxEnv!=null) { ctxEnv.close(); ctxEnv = null; } if (ctxInitial!=null) { ctxInitial.close(); ctxInitial = null; } } catch (NamingException ne) { ne.printStackTrace(); } } return null; } public List<TableData> getList() throws SQLException{ Connection dbc = null; dbc = getDBC("jdbc/dbcJSF"); try { Statement st = dbc.createStatement(); String cmd = "SELECT uidr, entity_id, title, created, expired, ordno, rings.model " + "FROM circle, rings " + "WHERE circle.ring_id = rings.rigid " + "ORDER BY uidr"; try { rs = st.executeQuery(cmd); while( rs.next() ) { TableData n = new TableData(); n.setUidr(rs.getString("uidr")); n.setTitle(rs.getString("title")); n.setCreated(rs.getDate("created")); n.setEntity_id(rs.getInt("entity_id")); n.setExpired(rs.getString("expired")); n.setModel(rs.getString("model")); n.setOrdno(rs.getInt("ordno")); names.add(n); } } catch(SQLException se) { System.out.println(se.getMessage()); } } catch(SQLException se) { System.out.println(se.getMessage() ); } dbc.close(); dbc = null; return names; } public List<TableData> getValues() throws SQLException{ Connection dbc = null; dbc = getDBC("jdbc/dbcJSF"); try { Statement st = dbc.createStatement(); String cmd = "SELECT title FROM circle"; try { rs = st.executeQuery(cmd); while( rs.next() ) { TableData n = new TableData(); n.setTitle(rs.getString("title")); names.add(n); } } catch(SQLException se) { System.out.println(se.getMessage()); } } catch(SQLException se) { System.out.println(se.getMessage() ); } dbc.close(); dbc = null; return names; } private boolean saveToDatabase() throws SQLException{ try { Connection dbc = null; dbc = getDBC("jdbc/dbcJSF"); Statement statement = dbc.createStatement(); statement.execute("INSERT INTO circle (entity_id, title, ring_id, created, expired, ordno) VALUES (1, '"+title+"', '1', to_date('10.10.07','dd.mm.yy'), '213', 2)"); //System.out.println(title); } catch(Exception e) { return false; } uidr=""; title=""; model=""; created=null; expired=""; setOrdno(0); return true; } public String onClick() throws SQLException{ boolean result = saveToDatabase(); if (result) return "success"; else return "failure"; } } Такой способ работает, но все сетеры и гетеры нужно вынести в отдельный класс. Как правильно это сделать? Заранее благодарен! знаете я бы на вашем месте подумал насчет того чтобы разделить сущности и из персистинг - ибо когда вы работаете с объектов вам грубо говоря в общем то по барабан как он сохраняется - собственно рекомендую выделить уровень Доступа к данным в вашем приложении - а так же покопать в сторону ORM возможно вам понравиться это больше чем через jdbc напрямую сохранять все в базу PS: jsf - кстати - не лучший фреймворк - из за того что он вызывает у людей мешанину в голове)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 13:15:30 |
|
||
|
JSF - работа с БД(insert, update, delete)
|
|||
|---|---|---|---|
|
#18+
Java Programmer PS: jsf - кстати - не лучший фреймворк - из за того что он вызывает у людей мешанину в голове)) ??? А какой фреймворк не вызывает мешанины? 2 yaros-hoi - тынц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.11.2007, 13:30:29 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=596&tid=2144030]: |
0ms |
get settings: |
15ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
305ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 412ms |
| total: | 834ms |

| 0 / 0 |
