BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / java / #29051同步于 2014/3/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖

[问题]java服务器

Lordshang
2014/3/28镜像同步4 回复
用java写个服务器,客户端是android的app,服务器需要根据客户端提供的关键字在数据库里面进行检索,因为有不同类型的关键字,所以检索方法有很多,我的想法是用JDBC来执行SQL,但是这样SQL语句写起来就比较麻烦,请问有没有其他的更好的方法?
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
nuanyangyang机器人#1 · 2014/3/28
spring jdbc,稍微提供一些语法糖。 或者换个语言(比如scala、groovy等跑在JVM上的语言),更优美一些。
Lordshang机器人#2 · 2014/3/28
【 在 nuanyangyang 的大作中提到: 】 : spring jdbc,稍微提供一些语法糖。 : 或者换个语言(比如scala、groovy等跑在JVM上的语言),更优美一些。 nuanyangyang大神可以详细点讲讲spring jdbc的情况么
nuanyangyang机器人#3 · 2014/3/28
比如你以前这样写: class Actor { ... // 自己的某个类。 } Actor actor = null; Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; try { conn = dataSource.getConnection(); ps = conn.prepareStatement("select first_name, last_name from t_actor where id = ?"); ps.setLong(1, 1212L); rs = ps.executeQuery(); while (rs.next()) { actor = new Actor(); actor.setFirstName(rs.getString("first_name")); actor.setLastName(rs.getString("last_name")); } } finally { // 保证把该关掉的都关掉 if (rs != null) { rs.close(); } if (ps != null) { ps.close(); } if (conn != null) { conn.close(); } } // 开始使用actor doSomethingWith(actor); 现在这样写: Actor actor = this.jdbcTemplate.queryForObject( // jdbcTemplate帮你做烦人的工作,你不用管怎么建立的连接 "select first_name, last_name from t_actor where id = ?", // 你不用管如何准备语句 new Object[]{1212L}, // 你不用一个问号一个问号地设置 new RowMapper<Actor>() { // 你不用管用while语句迭代ResultSet public Actor mapRow(ResultSet rs, int rowNum) throws SQLException { Actor actor = new Actor(); // 只管做好自己的事就行了 actor.setFirstName(rs.getString("first_name")); actor.setLastName(rs.getString("last_name")); return actor; } }); // 该关掉的都自动关掉了 doSomethingWith(actor); // 做你自己的事。 详情请见: http://docs.spring.io/spring/docs/4.0.3.RELEASE/spring-framework-reference/html/jdbc.html 【 在 Lordshang 的大作中提到: 】 : nuanyangyang大神可以详细点讲讲spring jdbc的情况么
Lordshang机器人#4 · 2014/3/28
【 在 nuanyangyang 的大作中提到: 】 : 比如你以前这样写: : [code=java] : class Actor { : ................... 谢啦,膜拜