㈠ java中如何返回服务器端sql语句执行的时间。
自己算的吧.记录开始时间和结束时间,end-start吧 start=System.currentTimeMillis(); 执行sql.end=System.currentTimeMillis(); 时间就是end-start
㈡ JAVA使用mybatis执行sql脚本,怎么获取sql脚本的查询结果
<selectid="DAO接口方法名称"parameterType="参数类型"resultType="返回结果类型">
select*from表where。。。
</select>
resultType 可以是任意Object对象,如果多条数据,这这个方法返回的是List<Object?>,
如果确认是单条数据,可以直接 Object? ***(**); 。
没有封装成对象时,默认返回的是List<Map<字段名称String,列值Object>>这样的数据。
Dao接口:
List<Map<String,Object>>list(Integerid);
SQL:
<selectid="list"parameterType="Integer"resultType="Map">
select*fromaaa
<where>
<iftest="null!=id">
id>#{id}
</if>
</where>
</select>
以上示例中表示查询id>某个数值的所有结果,返回类型为MAP
执行脚本后没有返回结果的吧,看ScriptRunner源码,没有提供任何返回结果的。
privatevoidexecuteStatement(Stringcommand)throwsSQLException,UnsupportedEncodingException{
booleanhasResults=false;
Statementstatement=connection.createStatement();
statement.setEscapeProcessing(escapeProcessing);
Stringsql=command;
if(removeCRs)
sql=sql.replaceAll(" "," ");
if(stopOnError){
hasResults=statement.execute(sql);
}else{
try{
hasResults=statement.execute(sql);
}catch(SQLExceptione){
Stringmessage="Errorexecuting:"+command+".Cause:"+e;
printlnError(message);
}
}
printResults(statement,hasResults);
try{
statement.close();
}catch(Exceptione){
//
}
}
...
有结果时,最后调用了这个方法打印出来而已。
privatevoidprint(Objecto){
if(logWriter!=null){
logWriter.print(o);
logWriter.flush();
}
}
你可以调用
publicvoidsetLogWriter(PrintWriterlogWriter){
this.logWriter=logWriter;
}
传入你自己的Writer。
㈢ java使用mybatis执行sql脚本,怎么获取sql脚本的结果
<select id="DAO接口方法名称" parameterType="参数类型" resultType="返回结果类型">
select * from 表 where 。。。
</select>
resultType 可以是任意Object对象,如果多条数据,这这个方法返回的是List<Object?>,
如果确认是单条数据,可以直接 Object? ***(**); 。
没有封装成对象时,默认返回的是List<Map<字段名称String,列值Object>>这样的数据。
Dao接口:
List<Map<String,Object>> list(Integer id);
SQL:
<select id="list" parameterType="Integer" resultType="Map">
select * from aaa
<where>
<if test="null!=id">
id >#{id}
㈣ java 获取SQL查询语句返回的结果
step1:构造连接
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/db","root","123");
step2:构造语句
String sql = "select username,password from t_user where username=?";
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, "zhangshan"); //给SQL的"?"(问号)传值。
step3:执行查询
ResultSet rs = stmt.executeQuery(); //rs就是SQL查询语句返回的结果集
step4:处理结果(java 获取SQL查询语句返回的结果)
List list = new ArrayList();
//遍历结果集,这样写就可以了,就是一个循环,有多少条记录,这里就会循环多少次,
//一次就是一条记录,想象一下就像一个表的一条记录
//在这里可以做查询出来的数据处理,可以封装成对象之类的(就是把值给它)
if(rs.next()) { //遍历结果集,这样写就可以了
User u = new User();
String username = rs.getString("username");
String address = rs.getString("password ");
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面这个例子意思是,把每一条记录封装成了一个User对象,然后这些User对象都放存入到了一个list
step4:关闭连接等
㈤ Java 获取SQL语句的执行时间
史上最高效最简单的方法
java.sql.Date currentDate = new java.sql.Date(System.currentTimeMillis());
㈥ hibernate怎么获取某条SQL执行消耗的时间
System.out.println(startDateTime);
执行语句
System.out.println(endDateTime);