JDBC

Posted 26个字符的天堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。

《java连接数据库》

Class.forName("com.mysql.jdbc.Driver")--1:加载驱动

Connection conn=DriverManager.getConnection(url, user, password)--2:通过指定的URL来获取数据库的连接

jdbc:mysql://localhost:3306/test11

PreparedStatement statement=conn.prepareStatement(sql)--3.通过一个sql预处理对象来管理sql语句

ResultSet rs=statement.executeQuery();--//4.通过ResultSet来保存sql执行后的结果

?useUnicode=true&characterEncoding=utf8--添加数据时,解决中文乱码

?characterEncoding=utf8--添加数据时,解决中文乱码

// 添加"characterEncoding=utf8"用来解决上传到数据库的乱码问题

statement.executeUpdate()--增删改数据时使用

ResultSet rs=statement.executeQuery()--查询数据时使用

 

《java连接网页》

req.getLocalAddr()--本机地址

req.getProtocol()--传输协议

req.getHeader()---获取请求头

req.getParameter--获取文本

跳转到jsp

req.getRequestDispatcher("resp.jsp").forward(req, resp)

重定向

resp.sendRedirect("resp.jsp");

req.setCharacterEncoding("utf-8")--设置请求编码

response.sendRedirect(req.getServletContext().getContextPath()+"/longing.jsp")--强制重定向,绝对路径

HttpSession session = req.getSession()--创建HttpSession

session.invalidate()--手动销毁session

session.setMaxInactiveInterval(10)--设定时间来自动销毁session,单位是秒

《JSP》

getServletContext().getRealPath("/")--获取项目发布的根目录

<%@ include file="toubu.jsp" %>--引入页面

<jsp:include page="inlayingJsp.jsp" flush="true"/>--引入页面 

<c:import url="inlayingJsp.jsp"></c:import> --引入页面

<%! %>--声明

<% %>--脚本

<script>

var temp = "<%=test() %>"

alert(temp)

</script>---javascript脚本

<% System.out.print(application.getRealPath("/")); %>--JSP获取项目发的跟目录

《获取所有的请求头》

《方法1》

Enumeration en = request.getHeaderNames();--获取所有请求头的名字

  //遍历所有的请求头

  for(;en.hasMoreElements();){

  //获取所以请求头的名字

  Object o = en.nextElement();

  //根据请求头输出相应信息

  out.print(o.toString()+":"+request.getHeader(o.toString())+"<p>");

}

《方法2》

  while(en.hasMoreElements()){

    Object o = en.nextElement();

    //根据请求头输出相应信息

    out.print(o.toString()+":"+request.getHeader(o.toString())+"<p>");

  }

Collection<String> enumeration = response.getHeaderNames();--获取响应头

《4个范围对象》

pageContext.setAttribute("name", "aaaaa");--生效范围是本页面内

request.setAttribute("name", "bbbbb");--生效范围是一次请求内

session.setAttribute("name", "ccccc");--生效范围是一次会话

application.setAttribute("name", "ddddd");--生效范围是整个web服务期间

request.getRequestDispatcher("new.jsp").forward(request, response);--页面跳转

out.print("page:"+page.getClass());--即指其本身

《抛出异常》

errorPage="errer.jsp"--抛出异常

<!-- 要抛出异常的话,需要设置errorPage属性,异常将会抛到指定的页面上 -->

isErrorPage="true"

<!-- 要在page指令下设置isErrorPage属性,将值设置为true,才能使用exception对象-->

《EL》

${empty name } --判断name 是否为真

isELIgnored="true" ------禁用EL表达式

".","[]"----获取值

${requestScope.name }------指定获取的EL表达式的对象范围

${param.n }--直接获取n的值

 ${header.host }---获取请求头host的值

 ${cookie.JSESSIONID.value }--获取cookie的值

 《JSTL》

《表达式标签》

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>---核心标签库

var--变量名

value-- 对应的值

scope --生效范围

escapeXml --解释标签,--true---不解释 ---false--解释

<c:set var="txt" value="<b>这个是用JSTL来应用的</b>" scope="session"/>

<c:remove var="txt"/>----删除标签

<c:out value="${txt }" escapeXml="false"></c:out>

<c:catch var="error"><% int i = 1/0; %> </c:catch>---捕捉异常

《流程控制标签》

<c:if test="${1==1}"> 证明1=1 </c:if> --JSTL判断

<c:choose> <c:when test="${test ==1 }">值,为1</c:when>

<c:when test="${test ==2 }">值,为2</c:when>

<c:when test="${test ==3 }">值,为3</c:when>

<c:otherwise>其他值</c:otherwise>

</c:choose>-------------------------------多分枝语句

《循环控制标签》

items--要迭代的对象

var--每次获得的值

begin--开始的位置

end--结束的位置

step--间隔

《遍历集合》

<c:forEach items="${li }" var="n" begin="1" end= "3" step="2"> ${n }------<br> </c:forEach>

《遍历字符串》

delims --分隔符

<c:forTokens items="q,w,e,r,t,y,u,i" delims="," var="tt">

${tt }-----<br>

</c:forTokens>

《URL操作标签》

url--引用的页面

var="data"--将页面保存到data变量里面

<c:import url="index.jsp" var="data"></c:import>

<a href=‘<c:url value="index.jsp"></c:url>‘>连接</a>--URL标签:对连接的地址进行格式化,并在必要时对URL进行重写

<c:redirect url="index.jsp"></c:redirect>-- 重定向 -->

《格式化标签库》

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>--格式化标签库

NUMBER--数字类型

CURRENCY--货币类型

PERCENT--百分比类型

<fmt:formatNumber type="NUMBER" value="${num }"></fmt:formatNumber>--格式化数字

《函数标签库》--必须要在EL表达式去使用

<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>--函数标签库

fn:contains() --- 函数判断输入的字符串是否包含指定的子串

fn:startsWith() --- 函数判断输入的字符串是否为指定的子串开始

fn:endsWith() --- 函数判断输入的字符串是否与指定的后缀结束

fn:toLowerCase() --- 函数将所有字符转换为小写的字符串

fn:toUpperCase() --- 函数将所有字符转换转换为大写

fn:trim() --- 函数把字符串两端空白空格删除等

fn:replace() --- 函数替换所有出现的字符串与另一个字符串

fn:substring() --- 函数返回一个指定的字符串的开始和结束索引

<script src="${pageContext.request.contextPath }"></script>--获取跟目录

window.location.href="index.jsp";-----脚本,实行跳转

《增删改查》

required="true"--文本框属性,设定必须要输入

req.setCharacterEncoding("utf-8");--添加用户时,解决中文乱码

《ajax--阿贾克斯》

var xmlReq = new XMLHttpRequest();---创建一个人ajax对象

xmlReq.open("post", url, true);--设置ajax请求

String name = new String(req.getParameter("username").getBytes("ISO-8859-1"),"utf-8");--传值时,解决中文乱码

user.setRegisterdate(new Timestamp(System.currentTimeMillis()).toString());--添加当前时间

《下载文件》

SmartUpload su = new SmartUpload();--先获取SmartUpload对象

《ajax--阿贾克斯  小结》

1.什么是Ajax :不刷新页面,但是可以和服务器进行通信的方式,使用Ajax的主要方法是XMLHttpRequest对象

2.使用XMLHttpRequest 对象实现Ajax [了解]

3.Ajax传输数据的 3 种方式 

1)XML:笨重解析困难,但,XML是通用的数据交换格式

2)html:不需要解析可以直接放到文档中,若仅更新一部分区域,但传输数据不是很方便,且HTML 代码需要拼装

3)JSON:小巧,有面向对象的特征,且有很多第三方的jar包 可以把java对象或集合转换为JSON字符串

4. 使用Jquery 完成Ajax 操作

1)load 方法:可以用于HTML 文档的元素节点,把结果直接加为对应节点的子元素,

通常所言 ,load 方法加载后的数据是一个HTML片段

var $obj = ...

var url = ...

var args = {key:value};

$obj.load(url ,args);

    2) $.get,$.post,$getJSON:更为灵活,除去使用load方法的情况,大部分时候都使用这 3 个方法

I.基本使用方法

//url:Ajax 请求的目标的统一资源定位器

//args:传递的参数:JSON类型

//data:Ajax 响应成功后的数据,可能是XML,HTML,JSON

$.get(url,args,function(date)){}

II.请求JSON 数据

$.get(url,args,function(data){},"JSON")

$.post(url,args,function(data){},"JSON")

$.getJSON(url,args,function(data){})

 

《java连接数据库》Class.forName("com.mysql.jdbc.Driver")--1:加载驱动Connection conn=DriverManager.getConnection(url, user, password)--2:通过指定的URL来获取数据库的连接jdbc:mysql://localhost:3306/test11PreparedStatement statement=conn.prepareStatement(sql)--3.通过一个sql预处理对象来管理sql语句ResultSet rs=statement.executeQuery();--//4.通过ResultSet来保存sql执行后的结果?useUnicode=true&characterEncoding=utf8--添加数据时,解决中文乱码?characterEncoding=utf8--添加数据时,解决中文乱码// 添加"characterEncoding=utf8"用来解决上传到数据库的乱码问题statement.executeUpdate()--增删改数据时使用ResultSet rs=statement.executeQuery()--查询数据时使用
《java连接网页》req.getLocalAddr()--本机地址req.getProtocol()--传输协议req.getHeader()---获取请求头req.getParameter--获取文本
跳转到jspreq.getRequestDispatcher("resp.jsp").forward(req, resp)
重定向resp.sendRedirect("resp.jsp");
req.setCharacterEncoding("utf-8")--设置请求编码response.sendRedirect(req.getServletContext().getContextPath()+"/longing.jsp")--强制重定向,绝对路径

HttpSession session = req.getSession()--创建HttpSessionsession.invalidate()--手动销毁sessionsession.setMaxInactiveInterval(10)--设定时间来自动销毁session,单位是秒
《JSP》getServletContext().getRealPath("/")--获取项目发布的根目录<%@ include file="toubu.jsp" %>--引入页面<jsp:include page="inlayingJsp.jsp" flush="true"/>--引入页面 <c:import url="inlayingJsp.jsp"></c:import> --引入页面<%! %>--声明<% %>--脚本
<script>var temp = "<%=test() %>"alert(temp)</script>---javascript脚本
<% System.out.print(application.getRealPath("/")); %>--JSP获取项目发的跟目录《获取所有的请求头》《方法1》Enumeration en = request.getHeaderNames();--获取所有请求头的名字//遍历所有的请求头for(;en.hasMoreElements();){//获取所以请求头的名字Object o = en.nextElement();//根据请求头输出相应信息out.print(o.toString()+":"+request.getHeader(o.toString())+"<p>");}《方法2》while(en.hasMoreElements()){Object o = en.nextElement();//根据请求头输出相应信息out.print(o.toString()+":"+request.getHeader(o.toString())+"<p>");}Collection<String> enumeration = response.getHeaderNames();--获取响应头《4个范围对象》pageContext.setAttribute("name", "aaaaa");--生效范围是本页面内request.setAttribute("name", "bbbbb");--生效范围是一次请求内session.setAttribute("name", "ccccc");--生效范围是一次会话application.setAttribute("name", "ddddd");--生效范围是整个web服务期间request.getRequestDispatcher("new.jsp").forward(request, response);--页面跳转out.print("page:"+page.getClass());--即指其本身《抛出异常》errorPage="errer.jsp"--抛出异常<!-- 要抛出异常的话,需要设置errorPage属性,异常将会抛到指定的页面上 -->isErrorPage="true"<!-- 要在page指令下设置isErrorPage属性,将值设置为true,才能使用exception对象-->
《EL》${empty name } --判断name 是否为真isELIgnored="true" ------禁用EL表达式".","[]"----获取值${requestScope.name }------指定获取的EL表达式的对象范围${param.n }--直接获取n的值 ${header.host }---获取请求头host的值 ${cookie.JSESSIONID.value }--获取cookie的值 《JSTL》《表达式标签》<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>---核心标签库var--变量名value-- 对应的值scope --生效范围escapeXml --解释标签,--true---不解释 ---false--解释<c:set var="txt" value="<b>这个是用JSTL来应用的</b>" scope="session"/><c:remove var="txt"/>----删除标签<c:out value="${txt }" escapeXml="false"></c:out><c:catch var="error"><% int i = 1/0; %> </c:catch>---捕捉异常
《流程控制标签》<c:if test="${1==1}"> 证明1=1 </c:if> --JSTL判断<c:choose> <c:when test="${test ==1 }">值,为1</c:when><c:when test="${test ==2 }">值,为2</c:when><c:when test="${test ==3 }">值,为3</c:when><c:otherwise>其他值</c:otherwise></c:choose>-------------------------------多分枝语句
《循环控制标签》items--要迭代的对象var--每次获得的值begin--开始的位置end--结束的位置step--间隔《遍历集合》<c:forEach items="${li }" var="n" begin="1" end= "3" step="2"> ${n }------<br> </c:forEach>《遍历字符串》delims --分隔符<c:forTokens items="q,w,e,r,t,y,u,i" delims="," var="tt">${tt }-----<br></c:forTokens>《URL操作标签》url--引用的页面var="data"--将页面保存到data变量里面<c:import url="index.jsp" var="data"></c:import><a href=‘<c:url value="index.jsp"></c:url>‘>连接</a>--URL标签:对连接的地址进行格式化,并在必要时对URL进行重写<c:redirect url="index.jsp"></c:redirect>-- 重定向 -->
《格式化标签库》<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>--格式化标签库NUMBER--数字类型CURRENCY--货币类型PERCENT--百分比类型<fmt:formatNumber type="NUMBER" value="${num }"></fmt:formatNumber>--格式化数字
《函数标签库》--必须要在EL表达式去使用<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>--函数标签库fn:contains() --- 函数判断输入的字符串是否包含指定的子串fn:startsWith() --- 函数判断输入的字符串是否为指定的子串开始fn:endsWith() --- 函数判断输入的字符串是否与指定的后缀结束fn:toLowerCase() --- 函数将所有字符转换为小写的字符串fn:toUpperCase() --- 函数将所有字符转换转换为大写fn:trim() --- 函数把字符串两端空白空格删除等fn:replace() --- 函数替换所有出现的字符串与另一个字符串fn:substring() --- 函数返回一个指定的字符串的开始和结束索引<script src="${pageContext.request.contextPath }"></script>--获取跟目录window.location.href="index.jsp";-----脚本,实行跳转《增删改查》required="true"--文本框属性,设定必须要输入req.setCharacterEncoding("utf-8");--添加用户时,解决中文乱码《ajax--阿贾克斯》var xmlReq = new XMLHttpRequest();---创建一个人ajax对象xmlReq.open("post", url, true);--设置ajax请求String name = new String(req.getParameter("username").getBytes("ISO-8859-1"),"utf-8");--传值时,解决中文乱码user.setRegisterdate(new Timestamp(System.currentTimeMillis()).toString());--添加当前时间《下载文件》SmartUpload su = new SmartUpload();--先获取SmartUpload对象《ajax--阿贾克斯  小结》1.什么是Ajax :不刷新页面,但是可以和服务器进行通信的方式,使用Ajax的主要方法是XMLHttpRequest对象2.使用XMLHttpRequest 对象实现Ajax [了解]3.Ajax传输数据的 3 种方式 1)XML:笨重解析困难,但,XML是通用的数据交换格式2)HTML:不需要解析可以直接放到文档中,若仅更新一部分区域,但传输数据不是很方便,且HTML 代码需要拼装3)JSON:小巧,有面向对象的特征,且有很多第三方的jar包 可以把java对象或集合转换为JSON字符串
4. 使用Jquery 完成Ajax 操作1)load 方法:可以用于HTML 文档的元素节点,把结果直接加为对应节点的子元素,通常所言 ,load 方法加载后的数据是一个HTML片段var $obj = ...var url = ...var args = {key:value};$obj.load(url ,args);
2) $.get,$.post,$getJSON:更为灵活,除去使用load方法的情况,大部分时候都使用这 3 个方法I.基本使用方法//url:Ajax 请求的目标的统一资源定位器//args:传递的参数:JSON类型//data:Ajax 响应成功后的数据,可能是XML,HTML,JSON$.get(url,args,function(date)){}II.请求JSON 数据$.get(url,args,function(data){},"JSON")$.post(url,args,function(data){},"JSON")$.getJSON(url,args,function(data){})

















以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章

JDBCJDBC连接mySQL数据库常见错误

JDBCJDBC连接mySQL数据库常见错误

JDBC

关于JDBC小总结

java JDBC编程学习笔记

java JDBC编程学习笔记