就像判断字符串似的 select * from articles where sexs is not null;
类似上面条件二进制有吗?
类似上面条件二进制有吗?
解决方案 »
- 打开一个php网页, 怎么监测打开这个网页都执行了哪些sql语句以及所用的时间?
- 在mysql 里面 如何将一个整数和一个字符串拼接在一起
- postgresql建表脚本,某字段带双引号,为什么啊?
- 数据库怎么构建才合理,并且可扩展?
- 安装myodbc3.51 驱动后,测试无法连接本地 MYSQL SERVER
- VB中访问数据库为什么出现这样的怪事?!~rs.recordcount我急
- mysql workbench可视化查询功能有吗,见图
- 求助mysql索引无效了,求指点
- mysql8.0yum安装,启动成功,密码也改了。关机重启。就进不去了。
- mysql 查询
- group by之后,如何将多行串联成一行的。
- 一个数据库名字是: my_database,我想在本地复制一个my_database1,命令是什么,,
后来网上找了找资料,说需要3步:1.插入一个空,2.查询出来二禁止,3.往里面赋值。。public void insertTraitStrTrees(List<TraitStrTrees> list, String tableName) { connect();
sql = "insert into " + tableName + " values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
System.out.println(sql);
try {
conn.setAutoCommit(false);
int isCommit = 0;
for (int i = 0; i < list.size(); i++) {
isCommit++;
ps = conn.prepareStatement(sql);
ps.setInt(1, list.get(i).getDg_id());
ps.setInt(2, list.get(i).getId());
ps.setString(3, list.get(i).getTrait_value());
ps.setInt(4, list.get(i).getParent_id());
ps.setInt(5, list.get(i).getChild_id());
ps.setInt(6, list.get(i).getLeft_id());
ps.setInt(7, list.get(i).getRight_id()); ps.setBlob(8, BLOB.getEmptyBLOB());
ps.setBlob(9, BLOB.getEmptyBLOB());
ps.setBlob(10, BLOB.getEmptyBLOB());
ps.setBlob(11, BLOB.getEmptyBLOB());
ps.setBlob(12, BLOB.getEmptyBLOB());
ps.setBlob(13, BLOB.getEmptyBLOB());
ps.setBlob(14, BLOB.getEmptyBLOB()); ps.setInt(15, list.get(i).isFrist());
ps.setInt(16, list.get(i).isHasChild());
ps.executeUpdate();
//ps.close();
String sql1 = "select articles,pictures,tables,videos,audios,ads,pages from " + tableName + " where dg_id=" + list.get(i).getDg_id() + " and id=" + list.get(i).getId() + " FOR UPDATE";
ps = conn.prepareStatement(sql1); ResultSet rs = ps.executeQuery();
rs.next();
BLOB articles = (BLOB) rs.getBlob(1);
BLOB pictures = (BLOB) rs.getBlob(2);
BLOB tables = (BLOB) rs.getBlob(3);
BLOB videos = (BLOB) rs.getBlob(4);
BLOB audios = (BLOB) rs.getBlob(5);
BLOB ads = (BLOB) rs.getBlob(6);
BLOB pages = (BLOB) rs.getBlob(7); OutputStream out1 = articles.getBinaryOutputStream();
OutputStream out2 = pictures.getBinaryOutputStream();
OutputStream out3 = tables.getBinaryOutputStream();
OutputStream out4 = videos.getBinaryOutputStream();
OutputStream out5 = audios.getBinaryOutputStream();
OutputStream out6 = ads.getBinaryOutputStream();
OutputStream out7 = pages.getBinaryOutputStream();
try {
out1.write(list.get(i).getArticles());
out1.close();
out2.write(list.get(i).getPictures());
out2.close();
out3.write(list.get(i).getTables());
out3.close();
out4.write(list.get(i).getVideos());
out4.close();
out5.write(list.get(i).getAudios());
out5.close();
out6.write(list.get(i).getAds());
out6.close();
out7.write(list.get(i).getPages());
out7.close();
} catch (IOException ex) {
Logger.getLogger(MysqlDB.class.getName()).log(Level.SEVERE, null, ex);
} String sql2 = "update " + tableName + " set articles=? , pictures=? , tables=? , videos=? , audios=? , ads=? , pages=? where dg_id=" + list.get(i).getDg_id() + " and id=" + list.get(i).getId();
ps = conn.prepareStatement(sql2);
ps.setBlob(1, articles);
ps.setBlob(2, pictures);
ps.setBlob(3, tables);
ps.setBlob(4, videos);
ps.setBlob(5, audios);
ps.setBlob(6, ads);
ps.setBlob(7, pages); ps.executeUpdate();
ps.addBatch();
if (isCommit % 50 == 0) {
ps.executeBatch();
conn.commit();
ps.close();
close();
connect();
} else if (i == list.size() - 1) {
ps.executeBatch();
conn.commit();
ps.close();
close();
}
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
close();
} }
另外,你前N个PreparedStatement都没有关闭,也许不会引起大问题,但是这终究不是一个好习惯!!!