预编译:ps对象
1.ps可进行预编译,占位符传值,性能高于sta的(数据库驱动层有优化)
2.比较灵活,数据库将预编译的SQL缓存了,第二次访问,就不用预编译,直接执行。
3.较为安全,不会发生SQL注入。
4.简单,不用拼接SQL,少出错。

SQL注入; select * from user where name = '"+name+"' or 1=1
and pwd = '"+pwd+"' or 1=1;

5.把结果集中的数据放到list集合中的方法
while(rs.next()) {
 Book book = new Book(rs.getInt("id"), rs.getString("name"), rs.getString("author"), rs.getFloat("price"));
 list.add(book);
}
总结:当结果集是一个对象时,用if遍历,当结果集为多个对象时,用while
遍历。

6.分页笔记,分页时在后台有一个转换,npage;异常的话 npage = 1:跳转到第一页
,因为,有人可能在地址栏搞乱,比如给:nowPage = "搞乱字符串";
npage的赋值就会出现异常,而跳转到第一业,所以要有一个npage的转换

加npage的转换处理了两个问题:
第一个:在nowPage = 0时,会出现异常,它就能处理异常
第二个:就是上边说的,有人在地址栏的捣乱,输入字符串。

分页时后台要判断,如果当前页nowPage = 0;那么让当前页赋值等于1;

如果

7.
 泛型类:具有一个或者多个类型(类形式)变量的类,Pager是具有一个类型变量的类。一个类在另一个类中做变量
 * 类型变量可以指定方法的返回类型以及域和局部变量的类型。
 * 方法返回:public T getPager() {}
 * 域:Pager<T, U>:第一个域和第二个域使用不同的类型
 * 局部变量类型: public void setPager(T t) {
 *     this.t = t;
 *  }

8.得到pageData的SQL
select top "+pageSize+" * from book where id not in (select top "+flag+" id from book)

javaweb笔记—04(预编译和泛型)的更多相关文章

  1. Javaweb学习笔记——(十七)——————JDBC的原理、四大核心类、四大参数、预编译、Dao模式、批处理、大数据、时间类型的转换

    JDBC入门 *导入jar包:驱动 *加载驱动类:Class.forName("类名"); *给出url.username.password,其中url背下来 *使用DriverM ...

  2. ASP.NET 预编译笔记

    本来下写篇总结,但感觉自己语言不知道怎么组织.就算了. aspnet_compiler的问题: 一开始 aspnet_compiler -v  \   -p  F:  E: -fixednames e ...

  3. Java学习笔记——JDBC之PreparedStatement类中“预编译”的综合应用

    预编译 SQL 语句被预编译并存储在 PreparedStatement 对象中.然后可以使用此对象多次高效地执行该语句. 预编译的优点 1.PreparedStatement是预编译的,对于批量处理 ...

  4. oracle学习笔记(七) 预编译Statement介绍与使用

    预编译Statement优点 执行效率高 由于预编译语句使用占位符 "?",在执行SQL之前语句会被先发送到Oracle服务器进行语法检查和编译等工作,并将SQL语句加入到Orac ...

  5. JS笔记--------预编译,闭包和作用域

    (一)JS预编译四部曲: 1,创建AO对象. 2,找形参和变量声明,将变量和新参名作为AO属性名,值为undefined. 3,将实参值和形参值统一. 4,在函数体里找函数声明,值赋给函数体. (二) ...

  6. c语言学习笔记---预编译

    专题三: 1)       预编译 处理所有的注释,以空格代替, 将所有的#define删除,并且展开所有的宏定义, 处理条件编译指令#if,#ifdef,#elif,#else,#endif 处理# ...

  7. 我的JavaScript笔记--数据类型,预编译,闭包

     在我们js中存储数据的空间可以分为两种,堆内存和栈内存 堆内存:我们定义的那些引用数据类型的数据都会在堆内存中开辟空间. 栈内存:我们运行的js代码还有我们定义的基本数据类型,都直接在栈内存中存储 ...

  8. javaweb笔记全套

    Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...

  9. javaweb笔记分享

    Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...

随机推荐

  1. HTML中--定义header和footer高度中间自适应

    <html> <head> <meta charset="utf-8" /> <title></title> <s ...

  2. linux中 /dev/null命令

    /dev/null :代表空设备文件 >  :代表重定向到哪里,例如:echo "123" > /home/123.txt1  :表示stdout标准输出,系统默认值是 ...

  3. 梯度下降法(BGD、SGD)、牛顿法、拟牛顿法(DFP、BFGS)、共轭梯度法

    一.梯度下降法 梯度:如果函数是一维的变量,则梯度就是导数的方向:      如果是大于一维的,梯度就是在这个点的法向量,并指向数值更高的等值线,这就是为什么求最小值的时候要用负梯度 梯度下降法(Gr ...

  4. unittest多线程生成报告-----BeautifulReport

    原文地址https://www.cnblogs.com/yoyoketang/p/8404204.html 前言 selenium多线程跑用例,这个前面一篇已经解决了,如何生成一个测试报告这个是难点, ...

  5. iOS UI基础-10.0 QQ聊天布局之键盘及文本使用

    要实现的效果:   这里只说用到的几个知识点 1.图片包含文字 在设置文字的Frame的时候,使用背景(按钮)的尺寸,文字使用了内边距 背景图片,使用拉伸 /** * 返回一张可以随意拉伸不变形的图片 ...

  6. 微信支付相关js

    import $ from "jquery" /*支付功能开始*/let ip="";let nonceStr;let appId;let mchId;let ...

  7. 图像控件 ImageControl

    图像控件 书:164 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns: ...

  8. MFC 运行报错:Debug Assertion Failed! dbgheap.c

    对话框已调用DestroyWindow 时,在调用delete this导致

  9. MyBatis基础入门《八》查询参数传入Map

    MyBatis基础入门<八>查询参数传入Map 描述: 在执行select查询数据的时候,方法传入的参数是java.util.Map类型. 接口方法: xml文件 注意: 书写SQL语句的 ...

  10. MyBatis基础入门《三》Select查询集合

    MyBatis基础入门<三>Select查询集合 描述: 代码新增了一个MybatisUtil工具类,查询数据库返回集合的时候,接收数据的三种方式.由于代码会渐渐增多,未涉及改动过的文件不 ...