正在回答
4回答
此处占位符的使用场景不正确;
占位符可以用到条件语句中,例如:select * from user where id=? 此处的占位符代表是一个具体的值,可以使用占位符;
而在排序时,order by后面是一个字段,使用占位符会使得排序无效。
祝学习愉快!
心纯净
2018-06-04 22:45:13
CREATE TABLE course( id INT UNSIGNED AUTO_INCREMENT KEY COMMENT '课程编号', name VARCHAR(20) NOT NULL COMMENT '课程名称', ctaegory VARCHAR(20) NOT NULL COMMENT '所属方向', desp VARCHAR(30) NOT NULL COMMENT '课程描述', createTime DATETIME NOT NULL COMMENT '创建时间' )ENGINE=INNODB CHARACTER SET UTF8; INSERT course VALUES(null,'Java零基础','Java','Java基础语法',NOW()); INSERT course VALUES(null,'JavaWeb','Java','Jsp和Servlet',NOW()); INSERT course VALUES(null,'前端小白','前端','HTML/CSS/JS',NOW());
心纯净
2018-06-04 22:42:52
@Test
public void demo() {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
con = JDBCUtils.getConnection();
String sql = "SELECT * FROM course ORDER BY ? DESC";
pstmt = con.prepareStatement(sql);
pstmt.setString(1, "createTime");
rs = pstmt.executeQuery();
while (rs.next()) {
int id = rs.getInt("id");
String name = rs.getString("name");
String category = rs.getString("category");
String desp = rs.getString("desp");
Timestamp createTime = rs.getTimestamp("createTime");
System.out.println(id + " " + name + " "
+ category + " " + desp + " " + createTime);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
JDBCUtils.release(rs, pstmt, con);
}
}
Java数据库开发与实战应用2018版
- 参与学习 人
- 提交作业 277 份
- 解答问题 4297 个
Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!
了解课程

恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星