DriverManager 查询数据库拼接BUFFER

        Connection conn = null;
        Statement stmt = null;
        ResultSet rs = null;
        try{
            Class.forName("com.mysql.jdbc.Driver");
             String dbNmae = "logall"+params.get("dbName");
             String dbIp = ConfigUtil.pro.get("linkLogIp").toString();
             String linkCloudSql = "jdbc:mysql://"+dbIp+"/"+dbNmae;
             String linkCloudUsername =ConfigUtil.pro.get("linkLogIpUsername").toString();
             String linkCloudPassword =ConfigUtil.pro.get("linkLogIpPassword").toString();

             conn = DriverManager
                     .getConnection(
                             linkCloudSql,linkCloudUsername, linkCloudPassword);
             stmt = conn.createStatement();
             PreparedStatement ps=null;

             StringBuffer buffer = new StringBuffer("SELECT `id`,`idc`,`flag`,`cmdStartTime`,`json`,`cmdEndTime`,`retValue`,`crmId`,CASE WHEN `fName` = ‘‘ OR `fName` IS NULL THEN `idsid` ELSE `fName` END `fName`,`insertTime`,TIMESTAMPDIFF(FRAC_SECOND,cmdstarttime,cmdendtime )  AS duration FROM  log_controlresult  WHERE idc = ? and flag in (‘BlueToothControl‘,‘carControlNew‘)");
             if(params.get("ret") != null && StringUtils.isNoneEmpty(params.get("ret").toString())){
                 buffer.append("and retValue=?");
             }
             buffer.append(" order by crmid desc");
             buffer.append(" LIMIT "+params.get("startIndex")+","+params.get("pageSize"));

             ps=(PreparedStatement) conn.prepareStatement(buffer.toString());
              ps.setString(1, params.get("idc").toString());

              if(params.get("ret") != null && StringUtils.isNoneEmpty(params.get("ret").toString())){
                 ps.setString(2, params.get("ret").toString());
             }

             log.info("控制历史sql:"+buffer.toString());
              rs = ps.executeQuery();
             while(rs.next())
             {
                 controlresult cresult = new controlresult();
                 cresult.setId(rs.getLong("id"));
                 cresult.setIdc(rs.getString("idc"));
                 cresult.setFlag(rs.getString("flag"));
                 cresult.setCmdStartTime(rs.getTimestamp("cmdStartTime"));
                 cresult.setJson(rs.getString("json"));
                 cresult.setCmdEndTime(rs.getTimestamp("cmdEndTime"));
                 cresult.setRetValue(rs.getString("retValue"));
                 cresult.setCrmId(rs.getLong("crmId"));
                 cresult.setfName(rs.getString("fName"));
                 cresult.setInsertTime(rs.getTimestamp("insertTime"));
                 cresult.setDuration(rs.getInt("duration"));
                 cresult.setCmdName(GetSendTypeNameByJson(cresult.getJson()));
                 resultList.add(cresult);
             }
        }
时间: 2024-08-02 16:37:10

DriverManager 查询数据库拼接BUFFER的相关文章

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

使用DQL查询数据库

DQL ( Data Query Language) 是数据查询语言,如 Select 语句 一.DQL 语法 SELECT [ALL | DISTINCT] {* | table.* | [table.field1[as alias1][,table.field2[as alias2]][,...]]} FROM table_name [as table_alias] [left | right | inner join table_name2] #联合查询 [WHERE ...] #指定结果

php mysql jquery ajax 查询数据库三级联动

1.php 页面打开直接展示第一个select option中的数据 2.当第一个下拉列表选中的内容发生改变的时候,查询数据库填充第二个下拉列表 3.当第二个下拉列表选中的内容发生改变时,查询数据库填充第三个下拉列表 注意点: 1.查询出来的数据,如果绑定到select上 2.select cochange事件 3.ajax 请求,提交到某个php 页面,参数是下拉列表选中的值,需要知道如何获取,查询数据库有结果,如果将返回的json格式的数据进行解析 代码: 表 CREATE TABLE `a

Sqlserver查询数据库文件大小和剩余空间

在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率: 1.查询各个磁盘分区的剩余空间:Exec master.dbo.xp_fixeddrives 2.查询数据库的数据文件及日志文件的相关信息(包括文件组.当前文件大小.文件最大值.文件增长设置.文件逻辑名.文件路径等)select * from [数据库名].[dbo].[sysfiles]转换文件大小单位为MB:select name, convert(float,size)

获取映射注解,查询数据库字段的信息

//通过循环 可以获得 注解中的name值@Column(name="EO_XXX"),本方法获取的是 get方法的注解 Method[] methods= EoOrderMaterielModel.class.getMethods();  Map<String,String> modelColumns=new HashMap<String, String>();  for(Method m:methods){   Annotation ats[]=m.getA

cached-query 将缓存和查询数据库快速连接起来的轻类库

介绍 我们常常有这样的需求:当我们把memcached加入到项目后我还还要写一个 cacheUtils 或者 cacheManager 之类的类来操作memcached.并且一般的操作不外乎是这种操作: 拿到一段sql,先去memcahed里面看下是否有缓存,如果有就直接返回结果 如果没有就直接查询数据库 查到数据之后先保存到memcached里面再返回给上层调用者 这种需求基本上占了缓存操作的大部分情况.这三件事情写起来很简单,其实还是有一些代码量的.cached-query 是一个轻量级的类

Android实现查询数据库,把数据库内容显示到屏幕

首先,是布局文件,非常的简单,一个可以滑动的ScrollView包裹一个线性布局,线性布局里面无内容 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_he

ORACLE查询数据库的锁表情况

  查询数据库的锁表情况语句如下: SELECT p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name FROM v$process p,v$session a, v$locked_object b,all_objects c WHERE p.addr=a.paddr AND a.process=b.process AND c.object_id=b.object_id 如果表因为某些情况出现死

spring security使用hibernate进行查询数据库验证

前面查询数据库采用的都是jdbc方式,如果系统使用的是hibernate,该如何进行呢,下面就是实现步骤,关键还是实现自定义的UserDetailsService 项目结构如下: 使用hibernate,pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo