ExtJS写的小系统,有源码
来源:互联网 发布:蓝牙4.0耳机知乎 编辑:程序博客网 时间:2024/04/28 17:00
- package com.soa.userbean;
- import java.sql.Connection;
- 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.Map;
- import java.util.Set;
- import javax.naming.Context;
- import javax.naming.InitialContext;
- import javax.sql.DataSource;
- import org.apache.log4j.Logger;
- /**
- * @author Julycn
- *
- */
- public class InitDB {
- Connection conn=null;
- Statement stmt=null;
- ResultSet rs=null;
- ResultSetMetaData rsmd=null;
- static Logger logger=Logger.getLogger(InitDB.class);
- //初始化数据库连接
- public static Connection InitDB(String jndiName) {
- Connection conn=null;
- try{
- Context initContext=(Context) new InitialContext().lookup("java:/comp/env");
- DataSource ds=(DataSource) initContext.lookup(jndiName);
- conn=ds.getConnection();
- }catch(Exception e){
- logger.error("链接数据库失败:"+e);
- }
- return conn;
- }
- //直接执行sql,用于更新,删除,添加
- public boolean execute(String sql,String jndiName){
- conn=InitDB.InitDB(jndiName);
- try{
- if(conn!=null){
- stmt=conn.createStatement();
- stmt.execute(sql);
- return true;
- }
- }catch(Exception e){
- logger.error("操作数据库失败:"+e);
- }finally{
- try {
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- logger.error("关闭数据库失败:"+e);
- }
- }
- return false;
- }
- //获取记录数
- public int findCount(String sql,String jndiName){
- conn=InitDB.InitDB(jndiName);
- int rowCount=0;
- try {
- stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
- rs=stmt.executeQuery(sql);
- rs.last();
- rowCount=rs.getRow();
- } catch (SQLException e) {
- e.printStackTrace();
- }finally{
- try {
- rs.close();
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return rowCount;
- }
- //通过sql语句获取记录数,返回List
- public ArrayList<Object> findBySql(String sql,String jndiName){
- ArrayList<Object> list=new ArrayList<Object>();
- try{
- conn=InitDB.InitDB(jndiName);
- stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
- rs=stmt.executeQuery(sql);
- rsmd=rs.getMetaData();
- String columnName="";
- Object columnValue=null;
- while(rs.next()){
- String array="";
- array+="{";
- for(int j=1;j<=rsmd.getColumnCount();j++){
- columnName=rsmd.getColumnName(j);
- columnValue=rs.getObject(columnName);
- array+="/""+columnName+"/"";
- array+=":";
- array+="/""+columnValue+"/"";
- if(j<rsmd.getColumnCount()){
- array+=",";
- }else{
- array+="";
- }
- }
- array+="}";
- list.add(array);
- }
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- try {
- rs.close();
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return list;
- }
- //把数据集处理成Ext可以接受的格式
- public String toExtJson(String table,String sqlContent,int start,int limit,Object cons,String jndiName){
- String sql=generateSql(table,sqlContent, cons);
- System.out.println(sql);
- int totalNum=findCount(sql, jndiName);
- ArrayList<Object> list=findBySql(sql+" LIMIT "+limit+" OFFSET "+start, jndiName);
- int resultNum=list.size();
- String str="";
- str+="";
- str+="{";
- str+="'totalCount':'"+totalNum+"',";
- str+="'rows':";
- str+="[";
- for(int i=0;i<resultNum;i++){
- str+="";
- str+=list.get(i);
- if(i<resultNum-1){
- str+=",";
- }else{
- str+="";
- }
- }
- str+="]";
- str+="}";
- return str;
- }
- // 通过条件生存sql语句
- @SuppressWarnings("unchecked")
- public String generateSql(String table, String sqlContent,Object cons) {
- String sql = "";
- if(sqlContent==null){
- sqlContent="*";
- }
- sql = "select "+sqlContent+" from " + table;
- HashMap hashMap=null;
- if (cons != null) {
- if(cons instanceof HashMap){
- hashMap=(HashMap) cons;
- Set set=hashMap.entrySet();
- Iterator it=set.iterator();
- int k=0;
- while(it.hasNext()){
- Map.Entry me=(Map.Entry) it.next();
- if(k==0){
- sql+=" where ";
- sql+=me.getKey();
- sql+="=";
- sql+=me.getValue();
- }else{
- sql+=" and ";
- sql+=me.getKey();
- sql+="=";
- sql+=me.getValue();
- }
- k++;
- }
- }else{
- sql+=" where "+cons;
- }
- }
- return sql;
- }
- }
- ExtJS写的小系统,有源码
- c 写的小系统
- 用c#写的QQ,有源码
- 最近刚为公司完成的一款监视的小工具软件!用DELPHI 7 写的,可以从后台监控系统﹑键盘﹑鼠标﹑屏幕以及文件与目录!有源码!
- DotNet版的ExtJS单用户Blog系统源码解析
- DotNet版的ExtJS单用户Blog系统源码解析
- DotNet版的ExtJS单用户Blog系统源码解析
- springmvc源码2 这篇写的有问题 会重新写
- 通用权限管理系统[基于asp.net(c# 4.0) + MVC 4 + extjs 4.2 + PetaPoco](一、搭架子 - 有源码)
- 谁有集成webwork和ibatis的小项目源码
- eclipse源码编译的apk开发,使用系统签名机制. (可让自己的写的apk有权限卸载其他应用)
- ExtJS的几个小技巧
- 自己也写的小的学生管理系统
- clojure写的银行系统的小例子
- C++写的一个小的日志系统
- 【原创】EXTJS,实现的两个tabpanel,每个panel有个可以伸缩的accordion,顺带实现开关小VIEWPORT。系统马上联调了,做个主页先……
- oj系统上写代码的一些小技巧
- 自己写的小作业,注册系统,待完善!
- 动态增加/删除文件域
- SOA
- jfreechart实例(2) 线形图和柱状图同时显示
- STL vector用法介绍
- SQL Server 和 Oracle 常用函数对比
- ExtJS写的小系统,有源码
- 不作第二人的祝福
- 网站如何达到W3C标准?网页如何通过W3C验证?
- 谷歌的下一步动向与威客地图
- 关于移动网站开发你需要知道的知识【译】
- 消除缓存asp与jsp/html之比较
- WinCE下多线程编程
- 网站架构策划方案
- 强制转换函数(const_cast,reinterpret_cast,static_cast,dynamic_cast)