📄 dataaccessadapter.java
字号:
package org.bob.model;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import java.util.HashMap;import java.util.Iterator;import java.util.List;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;import org.bob.entity.DynamicEntity;import org.bob.exception.MethodNotImplementsException;public abstract class DataAccessAdapter implements IDataAccess{ private static DataSource source=null; static{ try { InitialContext context=new InitialContext(); source=(DataSource) context.lookup("java:comp/env/jdbc/source"); } catch (NamingException e) { e.printStackTrace(); } } protected final Connection getConnection() throws SQLException{ return source.getConnection(); } protected final List find(String tabName, HashMap<String, String> where, String operation) throws SQLException { ArrayList<DynamicEntity> list=new ArrayList<DynamicEntity>(); String sql="SELECT * FROM "+tabName; if(where!=null&&!where.isEmpty()){ String tmp=" WHERE "; for(Iterator iter=where.keySet().iterator();iter.hasNext();){ String column=(String)iter.next(); tmp+=column+"='"+where.get(column)+"' "+operation; } sql+=tmp.substring(0,tmp.lastIndexOf(operation)).toUpperCase(); } Connection con=this.getConnection(); Statement pstm=con.createStatement(); ResultSet rs=pstm.executeQuery(sql); DynamicEntity entity=null; ResultSetMetaData meta=rs.getMetaData(); int columnCount=meta.getColumnCount(); while(rs.next()){ entity=new DynamicEntity(); for(int index=1;index<=columnCount;index++){ entity.setElement(meta.getColumnName(index),rs.getString(index)); } list.add(entity); } con.close(); return list; } @Override public List find() throws Exception { throw new MethodNotImplementsException(); } @Override public String isExist(DynamicEntity entity)throws Exception { throw new MethodNotImplementsException(); } @Override public void modify(DynamicEntity entity)throws Exception { throw new MethodNotImplementsException(); } @Override public void remove(DynamicEntity entity)throws Exception { throw new MethodNotImplementsException(); } @Override public void save(DynamicEntity entity)throws Exception { throw new MethodNotImplementsException(); } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -