正在回答
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 星