javaweb笔记—04(预编译和泛型)
预编译: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(预编译和泛型)的更多相关文章
- Javaweb学习笔记——(十七)——————JDBC的原理、四大核心类、四大参数、预编译、Dao模式、批处理、大数据、时间类型的转换
JDBC入门 *导入jar包:驱动 *加载驱动类:Class.forName("类名"); *给出url.username.password,其中url背下来 *使用DriverM ...
- ASP.NET 预编译笔记
本来下写篇总结,但感觉自己语言不知道怎么组织.就算了. aspnet_compiler的问题: 一开始 aspnet_compiler -v \ -p F: E: -fixednames e ...
- Java学习笔记——JDBC之PreparedStatement类中“预编译”的综合应用
预编译 SQL 语句被预编译并存储在 PreparedStatement 对象中.然后可以使用此对象多次高效地执行该语句. 预编译的优点 1.PreparedStatement是预编译的,对于批量处理 ...
- oracle学习笔记(七) 预编译Statement介绍与使用
预编译Statement优点 执行效率高 由于预编译语句使用占位符 "?",在执行SQL之前语句会被先发送到Oracle服务器进行语法检查和编译等工作,并将SQL语句加入到Orac ...
- JS笔记--------预编译,闭包和作用域
(一)JS预编译四部曲: 1,创建AO对象. 2,找形参和变量声明,将变量和新参名作为AO属性名,值为undefined. 3,将实参值和形参值统一. 4,在函数体里找函数声明,值赋给函数体. (二) ...
- c语言学习笔记---预编译
专题三: 1) 预编译 处理所有的注释,以空格代替, 将所有的#define删除,并且展开所有的宏定义, 处理条件编译指令#if,#ifdef,#elif,#else,#endif 处理# ...
- 我的JavaScript笔记--数据类型,预编译,闭包
在我们js中存储数据的空间可以分为两种,堆内存和栈内存 堆内存:我们定义的那些引用数据类型的数据都会在堆内存中开辟空间. 栈内存:我们运行的js代码还有我们定义的基本数据类型,都直接在栈内存中存储 ...
- javaweb笔记全套
Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace 选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...
- javaweb笔记分享
Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace 选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...
随机推荐
- vue.js安装问题
1.安装:npm install --global vue-cli 2.创建项目:vue init webpack my-project npm WARN deprecated browserslis ...
- golang 对struct进行Serialize的方法,即将存取二进制文件到struct的方法
方法一: serialize 的标准方法: 使用gob 和 base64 或 base58. 方法二: 下面是自己实现的 serialize 方法,不推荐自己实现,应该用标准方法. 代码如下: pac ...
- 263A
#include<stdio.h> #include<stdlib.h> int main() { int i, j; int temp; int t_i, t_j; int ...
- DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N)
DAX/PowerBI系列 - 参数表(Parameter Table) - 大客户分析(Top N) 难度: ★☆☆☆☆(1星) 适用范围: ★★★☆☆(3星) 概况:此文为DAX/PowerBI系 ...
- PageHelper分页插件
在mybatis配置文件(SqlMapConfig.xml)中配置 <?xml version="1.0" encoding="UTF-8" ?> ...
- linux下nodejs安装以及如何更新到最新的版本
nodejs官网下载安装的源码文件,我这边下载的是node-v4.5.0-linux-x64.tar.xz 在linux命令行里输入: tar -xvf node-v4.5.0-linux-x64.t ...
- 利用TensorFlow实现线性回归模型
准备数据: import numpy as np import tensorflow as tf import matplotlib.pylot as plt # 随机生成1000个点,围绕在y=0. ...
- MongoDB--运行环境
版本 a.b.c a大版本 b中版本分奇数偶数 奇数是开发版 偶数是稳定版 c小版本 ssh工具:远程Linux机器.在windows下使用 Linux 下使用vim windows下使用 ...
- WCF&AppFabric :异常消息: 内存入口检查失败
bug描述 发件人信息: System.ServiceModel.ServiceHostingEnvironment+HostingManager/31242459 异常: System.Servic ...
- cocos2d-x C++ (iOS)集成第三方微信分享
1.新建项目并下载 ShareSDK 1.Cocos2d-x项目环境搭建,不会的童鞋自行面壁哈: 网页链接. 2.ShareSDK iOS版本的 Cocos2d-x 插件是在ShareSDK iOS版 ...