预编译: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. Spark:java.net.BindException: Address already in use: Service 'SparkUI' failed after 16 retries!

    Spark多任务提交运行时候报错. java.net.BindException: Address already retries! at sun.nio.ch.Net.bind0(Native Me ...

  2. 2019.03.30 Head first

    第一节 认识python python.exe -V python 会进入解释器 quit()命令会退出解释器 IDEL,一个python的集成开发环境,能够利用颜色突出语法的编辑器,一个调试工具,P ...

  3. Sql注入基础原理介绍

    说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...

  4. 《全栈性能Jmeter》-3JMeter体系结构

  5. MVC4 原版样式

  6. iOS 第三方框架-MJExtension

    1.数组转换成模型数组 // 将 "微博字典"数组 转为 "微博模型"数组 NSArray *newStatuses = [HWStatus objectArr ...

  7. MessageBox ---> error C2660: “CWnd::MessageBoxA”: 函数不接受 4 个参数

    解决办法: ::MessageBoxA(NULL,TEXT("程序即将退出,谢谢你的试用!"),TEXT("SIMPLETRBO有线调度台"),MB_OK); ...

  8. hbase shell operate

    , start hdfs [hadoop@alamps sbin]$ ./start-all.sh This script is Deprecated. Instead use start-dfs.s ...

  9. Thinkphp 框架

    核心函数库:   配置文件:     语言包  :  核心资源库:入口文件 核心配置文件 系统行为目录:功能目录:核心文件:摸板类文件目录

  10. 使用淘宝npm镜像

    我们都知道淘宝大量采用了Nodej技术,所以它的镜像还是值得肯定的!更多相关可查看:淘宝NPM镜像 npm的官方镜像在国内访问是比较慢的,所以替代方法是使用淘宝npm镜像! 淘宝 NPM 镜像是一个完 ...