• 8.15


    今天学了

    9.2 更新 UserBean 中的代码
    在 UserBean 中需要添加两个方法:根据用户 ID 查询及添加用户。这两个方法中使用 的 SQL语句中都包含变量,称为动态 SQL语句。 9.2.1 动态SQL语句的编写 首先应该能够写出静态的 SQL语句,并且使用静态 SQL语句到数据库服务器上验证。 如果静态的 SQL语句没有问题,就把它改造成动态的 SQL语句。 完成查询功能时,需要根据用户 ID 查询,假设使用 userid 保存用户 ID 信息。 第一步,先编写查询用户 ID 为 123 的用户的静态 SQL 语句,代码如下: "select * from usertable where userid='123' " 这个 SQL语句编写完了之后,应该先到数据库服务器上执行一下看看有没有问题。 第二步,把 SQL语句中的常量123 替换成变量 userid,替换后的代码如下: "select * from usertable where userid='userid' " 如果直接执行这个代码,也不会出错,但是查找不到结果,原因是系统把 userid 作为 ID 号了,而不是把 userid 表示的内容作为用户 ID。所以需要把 userid 作为变量处理。 第三步,分割字符串中的常量和变量,常量使用双引号,而变量直接写出即可。修改 后的代码如下: "select * from usertable where userid='" userid "' " 注意:最后一部分是一个字符串,内容是一个单引号。 第四步,把字符串连接起来,这时候我们使用 StringBuffer 来完成字符串的连接,代码 如下: StringBuffer sql = new StringBuffer; sql.append("select * from usertable where userid='"); sql.append(userid); sql.append("'"); 在执行 SQL 语句的时候,使用 toString()方法就可以把 StringBuffer 对象转换成 String 对象了。以前的很多书上都这样写: String sql = "select * from usertable where userid='"+userid+"'"; 从完成功能上来说这样写没有问题,但是会有效率问题。因为 String 类型的对象本身 是一个常量,也就是说内容不能改变。上面的过程实际上生成了很多 String 对象:首先组 成查询语句的 3 部分,都是一个 String 对象;然 后 每 一 次连接都会创建一个新的 String 对象。 而 StringBuffer 对象的内容可以改变。尤其是在需要链接的字符串比较多的时候,更应该选 择使用 StringBuffer,而不是使用多个加号连接字符串。

  • 相关阅读:
    《网络是怎样连接的》读书笔记一
    移植mplayer到开发板
    解决ubuntu安装ssh服务无法打开解析包问题
    嵌入式软件工程师面经
    c语言-数组、指针面试题
    Linux命令- echo、grep 、重定向、1>&2、2>&1的介绍
    回调函数的作用
    数据结构-单链表回环函数判断
    算法-一步步教你如何用c语言实现堆排序(非递归)
    算法-快速排序
  • 原文地址:https://www.cnblogs.com/dty602511/p/13573924.html
Copyright © 2020-2023  润新知