传智播客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
相关文档:
二分查找法和线性查找法
二分查找法是一种比普通线性查找快得多的查找算法,但只适用于有序集合当中。拿升序排序后的整型数组来说,二分法具体的实现原理是:先把待查找数a与数组中间的那个数x对比,如果相等,直接返回x的索引;如果a大于x,则排除掉数组的前面一半(包括x),接着拿a与剩下一半数组中间的那个数x对比,如 ......
1. 简单类型是按值传递的
Java 方法的参数是简单类型的时候,是按值传递的 (pass by value)。这一点我们可以通过一个简单的例子来说明:
/* 例 1 */
/**
* @(#) Test.java
* @author fancy
*/
public class Test {
public static void test(boolean test) {
&nb ......
从JavaSE 到JavaEE
再从corejava1,corejava11,Java Language Specification, Second(Third) Edition, Think in java,Data Structure java depth Adventrue)
转到JavaEE(EJB,Spring,Hibernate,Webwork,struts1,strut2,jsp,servlet)
从开源组织再到自组织,再到corejava1,corejava11
到JavaWebServer,java Web Prog ......
/**
* 使用二分查找的方式查询指定的值
* @author ZhangYu
* @data 2010-01-23
*/
public class BinSearch {
/**
* 用递归实现二分查找
* @param data -被查找的数组
* @param value -要查找的值
* @param left -查找范围的最小值
* @param right -查找范围的最大值
* ......
我今天学习了用jdbc连接数据库的知识,我做了简单的笔记:
1.数据库的url jdbc:mysql://loaclhost:3306/test
jdbc:表示连接数据库使用的是jdbc协议
mysql:表示连接数据库的子协议,不同的数据库使用的协议不 一样
localhost:数据库服务器所在的ip地址
3306 :使用的端口号
tes ......