JavaWeb -JDBC使用(数据库-javaweb连接)
使用JDBC四个大类
1. DriverManager:管理jdbc驱动
2. Connection:连接(通过DriverManager产生)
3. Statement/PreparedStatement:增删改executeUpdate()查executeQuery()
CallableStatement调用数据库中 存储过程/存储函数 (皆通过Connection产生)
statement()方法:增删改executeUpdate()查executeQuery()
PreparedStatement(sql语句)方法:同上+setXXX(postion,value)
4. Resultset:返回到结果集 (通过Statement等产生)
方法:next():光标下移,判断是否有下一条数据:true/false
getXXX(字段名/位置):获取具体的字段值 XXX为int/String/...
Statement与PreparedStatement的区别:(推荐用PreparedStatement)
1. Statement:
SQL语句
executeUpdata(SQL)
2. PreparedStatement
sql(可能存在占位符‘?’)
在创建PreparedStatement对象时,将sql预编译PreparedStatement(sql)
executeUpdata()
setXXX(postion,value) 将sql中占位符?替换
JDBC访问数据库具体步骤
1. 导入驱动,加载具体驱动类
2. 与数据库建立链接
3. 发送sql语句,执行
4. 处理结果集合(查)
**补充:导入驱动和具体驱动类:
驱动jar(x为版本号) 具体驱动类 连接字符串
Oracle ojdbc-x.jar oracle.jdbc.OracleDriver jdbc:oracle:thin:@localhost:1521:ORCL
MySQL mysql-connector-java-x.jar com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/数据库实例名
SQL server sqljdbc-x.jar com.microsoft.sqlserver.jdbc.SQLServerDriver jdbc:microsoft:sqlserver:localhost:1433;databasename=数据库实例名
代码示例:
用java在数据库中增删改数据
package jdbcproject; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement; public class add {
//sql数据库连接字符串
private static final String URL="jdbc:sqlserver://localhost:1433;databasename=javatest";
//sql用户名 和密码 用作连接用
private static final String USERNAME="sa";
private static final String PWD="cc123nice"; public static void update() throws ClassNotFoundException, SQLException {//增删改
//导入驱动,加载具体驱动类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//与数据库建立链接
Connection connection = DriverManager.getConnection(URL, USERNAME, PWD);
//发送sql语句(增删改)
Statement stmt = connection.createStatement();
//实现增删改
String sql="insert into test values('cc',13)";
// String sql="update into test values('cd',13)";
// String sql="delete table test"; //返回增删改几条数据
int num = stmt.executeUpdate(sql);
if(num>0)
System.out.println("操作成功");
stmt.close();
connection.close();
}
public static void main(String[] args) {
try {
update();
} catch (ClassNotFoundException | SQLException e) {
e.printStackTrace();
}
}
}
JavaBean
1. 将jsp中的java代码转移到src的一个类中 称之为javabean
2. 要求:
public修饰类 ,public 无参构造
所有属性(如果有)都是private,且提供get/set方法(如果boolean 则为is方法)
3. 优点: 减轻复杂度
提高复用率
封装业务逻辑 (相当于运用数据库的表)
封装数据 (对应于数据库的一张表)
代码示例:
三板块 Javabean /JSP/lib中包导入

1. first.logindao为JavaBean封装了sql语句(命名规范与数据库连接的类以dao结尾)
package first;
import java.sql.*;
public class logindao {
//sql数据库连接字符串
private static final String URL="jdbc:sqlserver://localhost:1433;databasename=javatest";
//sql用户名 和密码 用作连接用
private static final String USERNAME="sa";
private static final String PWD="cc123nice";
public int login(String name,String pws) {
Connection connection=null;
Statement stmt=null;
ResultSet rs=null;
try {
//导入驱动,加载具体驱动类
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
//与数据库建立链接
connection = DriverManager.getConnection(URL, USERNAME, PWD);
//发送sql语句(增删改)
stmt = connection.createStatement();
String sql="select count(*) from test where name='"+name+"' and pwd='"+pws+"'";
rs=stmt.executeQuery(sql);
int count=-1;
if(rs.next()) {
count = rs.getInt(1);
}
return count;
} catch (ClassNotFoundException e) {
e.printStackTrace();
return -1;
} catch (SQLException e) {
e.printStackTrace();
return -1;
}catch (Exception e) {
e.printStackTrace();
return -1;
}
}
}
2. JSP中设置用户输入界面与跳转结果界面
--login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form action="check.jsp" method="post">
用户名:<input type="text" name="uname"><br/>
密码: <input type="password" name="upwd"/><br/>
<input type="submit" value="登陆"><br/>
</form>
</body>
</html> --check.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="first.logindao" %> <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<%
String name=request.getParameter("uname");
String pwd=request.getParameter("upwd");
logindao dao=new logindao();
int result=dao.login(name,pwd);
if(result>0)
out.print("登陆成功");
else if(result==0)
out.print("用户名/密码有误");
else
out.print("代码错误");
%>
</body>
</html>
3. 导入包-正常java文件导入包需要将包粘贴于根目录下,右键buildpath-》configure build path(如下图)
但对于javaweb项目中 若要导入包则只需放入lib文件夹下

JavaWeb -JDBC使用(数据库-javaweb连接)的更多相关文章
- JDBC开发,数据库的连接
JDBC开发步骤 1.建完工程后,右击工程,new,新建一个文件夹Folder,装jar包, 2.将下载好的驱动包打开,找到jar文件,CTRL+C,选中装jar包的文件夹,CTRL+V ...
- jdbc创建数据库的连接
package com.gylhaut.db; import java.sql.Connection;import java.sql.DriverManager;import java.sql.Res ...
- JDBC获取数据库Connection的工具抽取
使用JDBC获取数据库的连接,大字分为三个步骤 1.获取驱动包名,定义URL,database_username,database_password 2.获取Connection对象 3.利用Conn ...
- javaweb学习总结(三十三)——使用JDBC对数据库进行CRUD
一.statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可. Statement对象的exe ...
- javaweb(三十三)——使用JDBC对数据库进行CRUD
一.statement对象介绍 Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可. Statement对象的exe ...
- 走进JavaWeb技术世界3:JDBC的进化与连接池技术
走进JavaWeb技术世界3:JDBC的进化与连接池技术 转载公众号[码农翻身] 网络访问 随着 Oracle, Sybase, SQL Server ,DB2, Mysql 等人陆陆续续住进数据库 ...
- JavaWeb程序连接SQLserver数据库
声明:一直以来都以为javaweb程序连接数据库是一个很高大上很难的问题,结果今天学习了一下,不到两个小时就解决了,所以总结一篇博客. JavaWeb程序连接SQLserver数据库分为一下步骤: 1 ...
- 关于java基础、多线程、JavaWeb基础、数据库、SSM、Springboot技术汇总
作者 : Stanley 罗昊 本人自行总结,纯手打,有疑问请在评论区留言 [转载请注明出处和署名,谢谢!] 一.java基础 1.多态有哪些体现形式? 重写.重载 2. Overriding的是什么 ...
- 【JAVAWEB学习笔记】10_JDBC连接池&DBUtils
使用连接池改造JDBC的工具类: 1.1.1 需求: 传统JDBC的操作,对连接的对象销毁不是特别好.每次创建和销毁连接都是需要花费时间.可以使用连接池优化的程序. * 在程序开始的 ...
随机推荐
- 前端开发之jQuery位置属性和筛选方法
主要内容: 1.jQuery的位置属性及实例 (1)位置属性 (2)实例 --- 仿淘宝导航栏 2.jQuery的筛选方法及实例 (1)筛选方法 (2)实例一:嵌套选项卡 (3)实例二:小米官网滑动 ...
- input实时监听控制输入框的输入内容和长度,并进行提示和反馈
一.前言 在MVVM模式下,有个双向数据绑定(data-binding)的优势,可以通过viewmodel实时的监听用户操作,也可以将model的改动实时的反馈到界面上. 那么,在传统的js操控DOM ...
- IDEA07 快捷键统计插件之Key Promoter X
1 官方介绍 该插件会统计你鼠标操作的次数,然后在一个窗口中展示出来 https://plugins.jetbrains.com/plugin/9792-key-promoter-x 2 下载.安装. ...
- Jdeveloper下Svn的使用
Jdeveloper下Svn的使用 官方pdf:jdeveloper使用svn 官方网地址:http://www.oracle.com/technetwork/cn/java/subversion-0 ...
- 禁止进入activity自动弹出键盘
禁止进入activity自动弹出键盘 在Manifest.xml中设定activity的属性 android:windowSoftInputMode="stateHidden|stateUn ...
- Ansible 笔记 (2) - Ad-hoc 命令
先使用 ansible-doc 获取帮助文档 [root@localhost ~]# ansible-doc ping > PING (/usr/lib/python2.7/site-packa ...
- loadrunner - Run time Settings 的详细说明
本文主要讲解一下run-time settings(如图1所示)里各设置项的具体含义(注:标红色的选项卡是比较值得关注的,可重点看一下): 图1 1.General / Run Logic 选项卡 ...
- polymer技巧
1.添加一个div元素 我们完全可以自己造一个这样的东西出来,比如下面例子我们给 div 元素添加一个 is="demo-test" <script> var Poly ...
- poj2115 Looooops 扩展欧几里德的应用
好开心又做出一道,看样子做数论一定要先看书,认认真真仔仔细细的看一下各种重要的性质 及其用途,然后第一次接触的题目 边想边看别人的怎么做的,这样做出第一道题目后,后面的题目就完全可以自己思考啦 设要+ ...
- 使用zookeeper自带的zkCli.sh客户端工具实现对zk的CURD常见操作详解
一.zookeeper自带的 zkCli.sh 客户端工具 1. 应急和测试使用到的一个工具. 还有C# dirver java dirver (驱动) 二.driver的使用方式有两种 zkCl ...