传智播客java学习 jdbc进阶
1.PreparedStatement与statement比较
*安全性:PreparedStatement安全,statement不安全
*批量语句的执行:PreparedStatement执行效率高,statement执行效率低,
*单条语句的执行:PreparedStatement执行效率低,statement执行效率高,
**********************************
代码的可读性和可维护性.
PreparedStatement 能最大可能提高性能:
DBServer会对预编译语句提供性能优化。因为预编译语句有可能被重复调用,所以语句在被DBServer的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中就会得到执行。
在statement语句中,即使是相同操作但因为数据内容不一样,所以整个语句本身不能匹配,没有缓存语句的意义.事实是没有数据库会对普通语句编译后的执行代码缓存.这样每执行一次都要对传入的语句编译一次.
PreparedStatement能保证安全性
2.利用for循环可以往数据库插入多条记录,
long begintime=system.currentTimemillis();//开始时间
可以记录插入多条记录所用的时间;
3.往Oracle数据库插入多条记录,PreparedStatement要比statement的速度快。
PreparedStatement先将sql语句预编译好,再插入数据库
而statement每次都要执行编译sql语句
4.用PreparedStatement插入5000条记录,oracle用时3秒,mysql用时109秒,
5.调用数据库中的Store Procedure(存储过程)时,要用到Callable Statement
************
作业:
1. EL表达式获取真实路径:${pageContext.request.contextPath}
jsp的request对象获取真时路径<%=request.getrealpath() %>
2.转向:servlet:从当前路径开始查找,
jsp页面:从应用程序根路径开始找,
3.处理日期:
java.sql.Date birthday=java.sql.Date.valueof(sbirthday.trim());
4. <c:choose>
<c:when test="${!empty list}">
</c:when>
<c:otherwise>
没有您要查询的数据源
</c:otherwise>
&nbs
相关文档:
我今天学习了sql语句的常用函数,是冯威老师讲的,我做了简单的笔记:
一,SQL函数:
1. 大小写转换函数
lower 转成小写
upper 大写
initcap 将字符串的(每个单词的)第一个字母变为大写,后面的小写
select initcap('huangHY') from dual
&n ......
及时消除不使用的对象的引用, 理论上, 带有内存管理的语言是不存在内存泄漏的, 但是如果对对象的操作不当,也是可能会造成内存泄漏. 如有一个stack, 其pop函数如下. public Object pop() { if( Element.length() == 0) return nu ......
1 package 和 import的作用是分割全局命名空间,保证我们不会遇到名字的冲突。
2 java解释器的工作程序:
(1) 首先它找到环境变量CLASSPATH , CLASSPATH包含一个或多个目录,它们作为一个特殊的根使用,从这里展开对.class文件的搜索,
从那个根开始,解释器会寻找包名,并将它们每一个点号 ......
package com.gis.biz;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.servlet.http. ......
/* 高手之作,本人谨以收藏者身份拿出共享供大家参考! */
/*
* 向量接口
*/
package dsa;
public interface Vector {
//返回向量中元素数目
public int getSize();
//判断向量是否为空
public boolean isEmpty();
//取秩为r的元素
public Object getAtRank(int r)
throws ......