java操作数据库

首先,创建一个DBConnection类(链接数据库的类)

public class DBConnection {
	public Connection getConnection()
	{
     Connection conn=null;
     //链接SQLServer2000    
     //String CLASSFORNAME="com.microsoft.jdbc.sqlserver.SQLServerDriver";	
    // String SERVANDDB="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=tempdb";    
     //连接SQLServer2005
    String CLASSFORNAME="com.microsoft.sqlserver.jdbc.SQLServerDriver";	
    String SERVANDDB="jdbc:sqlserver://localhost:1433;DatabaseName=jmorder";    
  //  String SERVANDDB="jdbc:sqlserver://219.229.249.71;DatabaseName=jxpro_manage"; 
     String USER="sa";
	 String PWD="123";
	//String PWD="jxedu";	 
	try
	{
	  Class.forName(CLASSFORNAME);
      conn=DriverManager.getConnection(SERVANDDB,USER,PWD);	  
	}catch(Exception ex)
	{
		ex.printStackTrace();
	}
	 return conn;
	}	   
}
然后创建一个DB类(操作数据的类),写操作数据库的方法execSelect执行查询语句

public ResultSet execSelect(String sql) {//执行查询语句,返回一个结果集

		try {
		 if(conn!=null){
			stmt = conn.createStatement(
					java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,
					java.sql.ResultSet.CONCUR_READ_ONLY);
			if(stmt!=null){
			  rs = stmt.executeQuery(sql);
			}
		  }
		} catch (SQLException se) {          
            System.out.print(se.getMessage());
		}
		return rs;
	}
执行修改语句:

public String execUpdate(String sql) {
		Statement stmt = null;
		String flag = "";
		try {
			stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
					ResultSet.CONCUR_UPDATABLE);
			if(stmt!=null)
			{
				stmt.executeUpdate(sql);
			    flag = "success";
			}
		} catch (SQLException se) {
			System.out.print(se.getMessage());

			flag = "error";
		}

		return flag;
	}
执行数据库备份与还原语句
public String exec(String sql) {
		Statement stmt = null;
		String flag = "";
		try {
			stmt = conn.createStatement();
			stmt.execute(sql);
			flag = "success";
		} catch (SQLException se) {
			System.out.print(se.getMessage());

			flag = "error";
		}
		return flag;
	}
关闭conn

public void setConnClose() {
		try {

			conn.close();
			conn=null;
		} catch (Exception e) {
		}
	}
Tomcat服务器关闭的方法
public void freeCon() {
		try {
			if (rs != null){
				rs.close();
			    rs=null;	
			}
			if (ps != null)
			{
				ps.close();
			    ps=null;
			}
			if (stmt != null)
			{
				stmt.close();
				stmt=null;
			}
			if (conn != null)
			{
				conn.close();
			   conn=null;
			 }
		} catch (SQLException ex) {
		}
	}
将ResultSet转换Json类型

 public String resultSetToJson(ResultSet rs) throws SQLException,JSONException
	    {
		
	       // json数组
	       JSONArray array = new JSONArray();	  
	       // 获取列数
	       ResultSetMetaData metaData = rs.getMetaData();
	       int columnCount = metaData.getColumnCount();	      
	       // 遍历ResultSet中的每条数据
	        while (rs.next()) {
	            JSONObject jsonObj = new JSONObject();	           
	            // 遍历每一列
	            for (int i = 1; i <= columnCount; i++) {
	                String columnName =metaData.getColumnLabel(i);
	                String value = rs.getString(columnName);
	                jsonObj.put(columnName, value);
	               // System.out.println(jsonObj.toString());
	            } 
	            array.add(jsonObj); 
	            System.out.println(array);
	          
	        }
	      
	       return array.toString();
	    }







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值