阅读背景:

通过表名获得列名信息,返回json串

来源:互联网 
  /**
	 * 根据表名获取列信息
	 */
	@Override
	public JSONArray getTableColumnInfoForForeign(final String tableName) {
		//获取当前数据链接
		SessionFactory sessionFactory = getHibernateTemplate().getSessionFactory();
		Session session = sessionFactory.getCurrentSession();
		Connection conn = session.connection();
		        
		PreparedStatement pst = null;
		ResultSet rs = null;
		JSONObject json = new JSONObject();
		JSONArray jsonArr = new JSONArray();
		int count = 0;
		String sql = "DESCRIBE " + "zq_" + ChangeUTF_16.enUnicode(tableName).toLowerCase();
		
		try {
			pst = conn.prepareStatement(sql);
			rs = pst.executeQuery();
			
			while(rs.next()){
				TableColumnBean column = new TableColumnBean();
				if (!"id".equals(rs.getString(1))){
					String columnNorm = ChangeUTF_16.deUnicode(rs.getString(1).substring(2)) + " (" + rs.getString(2) + ")";
					if (count == 0){
						column.setColumnId("");
						column.setColumn("");
					}
					else{
						column.setColumnId(columnNorm);
						column.setColumn(columnNorm);
					}
					
					jsonArr.add(column);
					count ++;
				}
			System.out.println(jsonArr.toString());	
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
					
		return jsonArr;
		
	}  /**
	 * 根据表名获取列信息
	 */
	@Override
	public JSO



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: