sql = "UPDATE student SET photo=? WHERE number=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setBinaryStream(1, is, is.available());//输入照片流 InputStream
ps.setString(2, user.getAccount());
ps.execute();
net.sf.json.JSONArray
String result = JSONArray.fromObject(list).toString();
org.apache.commons.dbutils.QueryRunner
runner.batch(conn, sql, param[][]); list内的对象,对象内的属性,所以是二维数组
runner.batch(sql, param);//Object[][] param
runner.query(sql, new BeanHandler(type), param); 它将?封装为param,按照顺序自动补充的;
SELECT * FROM teacher ORDER BY id DESC LIMIT ?,?
static 有种全局变量的味道,也就是类加载赋初值,
这是input流写入字符
InputStream is = service.getPhoto(user);
if(is != null){
byte[] b = new byte[is.available()];
is.read(b);
response.getOutputStream().write(b, 0, b.length);
}
ajax写法
var data = {'name': name, 'value': value};
$.ajax({
type: "post",
url: "SystemServlet?method=EditSystemInfo&t="+new Date().getTime(),
data: data,
success: function(msg){
if(msg == "success"){
$.messager.alert("消息提醒","保存成功","info");
}
}
});
大概是解析
success: function(result){
console.log(result);
var columns = [];
$.each(result, function(i, course){
var column={};
column["field"] = "course"+course.id;
column["title"] = course.name;
column["width"] = 70;
column["resizable"] = false;
column["sortable"] = true;
columns.push(column);//当需要formatter的时候自己添加就可以了,原理就是拼接字符串.
});