jspjdbcmysql数据库(jdbc支持的数据库)

  • 1、怎么用jsp连接mysql数据库
  • 2、jsp怎样用jdbc连接mysql数据库
  • 3、jsp连接mysql数据库的难点
  • 4、jsp怎么连接mysql数据库
  • 5、jsp中使用JDBC连接MySQL数据库如何解决
  • 6、jsp页面中怎么导入jdbc连接mysql

一. 数据库的连接和操作笔记:

1.初始化连接字符串

2. 发送请求连接

3.如果需要对数据库进行操作,如查询,添加,删除,修改等,则发送数据库操作请 求,成功就返回结果,不成功操作失败

4. 不进行操作就关闭数据库操作,以及关闭数据库发送请求

二.配置环境

”工欲善其事必先利其器“ 在配置之前必须准备好几个必要的文件java 的jdk(我用的是1.5),Tomcat(我的是5.5) ,mysql(5.0),jdbc(mysql-connector-java-3.1.14.zip) 的驱动,当然还有Dreamweaver 等等必要工具。

第一件事情:安装jdk 1.5版本,安装tomcat,mysql,解压jdbc到包(官方网站有下载,注册一个就行)

第二件事情:配置jdk,配置tomcat,jdbc

jdbc的配置:我的解压目录是 I:\mysql-connector-java-3.1.14 里面可以看到一个mysql-connector-java-3.1.14-bin.jar 这个jar 的文件。右键打开电脑属性—–高级—环境变量—找到系统变量。。点击CLASSPATH,进行”编辑“ 加入I:\mysql-connector-java-3.1.14\mysql-connector-java-3.1.14-bin.jar 这个路径去,这里说明的我是盘式i盘,jdbc可以随便解压到那个盘都行,指定路径就是。

第二步:jdbc解压包下 mysql-connector-java-3.1.14-bin.jar 这个文件放入到Tomcat安装目录下

Tomcat 5.5\common\lib

Tomcat 5.5\shared\lib

这两个文件夹里面。

基本上的工作就完成了。呵呵(当然这个要看网上的资料,这里要自己重新写一次 唉好苦啊,没得抄)

基本工作准备好,找一个mysql 数据库的界面操作 GUI软件 名字为: navicat(这个很好用)打开mysql,测试一下自己的mysql 可不可以连通,可以的话那么就可以新建一个数据库test,一个表为mytest,字段是id和myname(这个随便也行)

工具:

mysql

jsp页面中怎么导入jdbc连接mysql如下:

 注意:一定要把mysql的环境变量配置到系统的环境变量中才可以,否则会连接失败

1、jsp是java服务端动态网页技术,主要应用于网页构建,理论上讲不应该在页面中直接连数据库。合理的做法是先构建一个java后端,然后在JAVA后端中通过jdbc连接sqlserver。

2、如果一定要在jsp页面中连数据库也是可以的。jsp中有专门的sql标签可以连接数据库进行操作,这是jstl的内容,需要导入相应的数据库驱动包。

3、jsp的内容相对来说技术难度都不算特别高,学习起来还是比较容易的。

4、希望对你有帮助。

我写的一个用JSP连接MySQL数据库的代码。

要正确的使用这段代码,你需要首先在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。

以下用两种方式来实现JSP连接MySql数据库。

第一种方式,用JSP实现。

%@ page contentType=”text/html; charset=gb2312″ language=”java”

import=”java.sql.*”%

%

//**************************************

********* JDBC_ODBC连接MySql数据库,不需要设置数据源

*********************************/

//********** 数据库连接代码 开始 ******/

//以下几项请自行修改

String server=”localhost”; //MYSQL 服务器的地址

String dbname=”test”; //MYSQL 数据库的名字

String user=”root”; //MYSQL 数据库的登录用户名

String pass=”chfanwsp”; //MYSQL 数据库的登录密码

String port=”3306″; //SQL Server 服务器的端口号,默认为1433

//数据库连接字符串

String url =”jdbc:mysql://”+server+”:”+port+”/”+dbname+”?user=”+user+

“password=”+pass+”useUnicode=truecharacterEncoding=GB2312”;

//加载驱动程序

Class.forName(“org.gjt.mm.mysql.Driver”).newInstance();

//建立连接

Connection conn= DriverManager.getConnection(url);

//创建语句对象

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

// **** 数据库连接代码 结束 *******

String sql=”select * from username”;

ResultSet rs=stmt.executeQuery(sql);

//rs.first();

while(rs.next()){

out.print(“用户名:”);

out.print(rs.getString(“uid”)+” 密码:”);

out.println(rs.getString(“pwd”)+”

“);

}

rs.close();

stmt.close();

conn.close();

%

第二种方式,用JavaBean来实现。请看代码:

DBConnMySql.java

编译以后的Class文件应该放在WEB-INF\classes\conn目录下。

package conn; //导入包

import java.sql.*; //导入数据库操作的类

public class DBConnMySql //构造方法,初始化

{

private Connection conn; //连接对象

private Statement stmt; //语句对象

private ResultSet rs; //结果集对象

private String MySqldriver;//MYSQL Server驱动程序字符串

private String MySqlURL; //MYSQL Server连接字符串

//********************************

*用 org.gjt.mm.mysql.Driver 驱动

* 该方法取得连接所需各种参数,组成连接字符串,然后再建立连接

* server;dbname,user,pass,port 分别表示MYSQL 服务器的地址,

* 数据库,用户名,密码,端口

**********************************/

public Connection getConnToMySql(String server,String dbname,

String user,String pass,String port){

//MYSQl驱动程序

MySqldriver = “org.gjt.mm.mysql.Driver”;

MySqlURL = “jdbc:mysql://”; //连接字符串一部分

try{

//完整的连接字符串

MySqlURL =MySqlURL+server+”:”+port+”/”+dbname+

“?user=”+user+”password=”+pass+

“useUnicode=truecharacterEncoding=GB2312”;

Class.forName(MySqldriver);

conn = DriverManager.getConnection(MySqlURL);

}catch(Exception e){

System.out.println(“操作数据库出错,请仔细检查”);

//System.err.println(e.getMessage());

}

return conn;

}

//关闭数据库连接

public void close()

{

try{

//rs.close();

//stmt.close();

conn.close();

}catch(SQLException sqlexception){

sqlexception.printStackTrace();

}

}

}

这个文件只是实现了数据库的连接,下面我们再写一个测试文件。

就是用sql语句从数据库里查询出记录,以验证我们数据库的连接是否成功。

connmysql.jsp文件源代码如下:

%@ page contentType=”text/html; charset=gb2312″ language=”java”

import=”java.sql.*” %

%

//以下几项请自行修改

String server=”localhost”; //MYSQL 服务器的地址

String dbname=”test”; //MYSQL 数据库的名字

String user=”root”; //MYSQL 数据库的登录用户名

String pass=”chfanwsp”; //MYSQL 数据库的登录密码

String port=”3306″; //SQL Server 服务器的端口号,默认为1433

Connection conn=DBConn.getConnToMySql(server,dbname,user,pass,port);

Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,

ResultSet.CONCUR_READ_ONLY);

String sql=”select * from username”;

String sql1=”insert into username (uid,pwd) values(‘梦想年华’,’梦想年华’)”;

stmt.executeUpdate(sql1);

ResultSet rs=stmt.executeQuery(sql);

while(rs.next()){

out.print(“用户名:”);

out.print(rs.getString(“uid”)+” 密码:”);

out.println(rs.getString(“pwd”)+”

“);

}

//rs.close();

//stmt.close();

//conn.close();

DBConn.close();

%

在index.jsp中输入如下代码,并配置相应mySQL数据库数据

%@ page language=”java” import=”java.util.*” pageEncoding=”utf-8″%

%@ page import=”java.sql.*” %

body

%

String driver = “com.mysql.jdbc.Driver”;

// URL指向要访问的数据库名test1

String url = “jdbc:mysql://127.0.0.1:3306/test”;

// MySQL配置时的用户名

String user = “root”;

// Java连接MySQL配置时的密码

String password = “111”;

try {

// 1 加载驱动程序

Class.forName(driver);

// 2 连接数据库

Connection conn = DriverManager.getConnection(url, user, password);

// 3 用来执行SQL语句

Statement statement = conn.createStatement();

// 要执行的SQL语句

String sql = “select * from login”;

ResultSet rs = statement.executeQuery(sql);

String name = null;

String mima=null;

while (rs.next()) {

name = rs.getString(“userName”);

mima = rs.getString(“passWord”);

out.println(name+”\t”+mima);

}

rs.close();

conn.close();

} catch (ClassNotFoundException e) {

System.out.println(“Sorry,can`t find the Driver!”);

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

}

%

/body

12,这样就运行成功了,对于出现8080端口号被占用,可以采用如下的方法进行删除对应的进程。

在命令提示符下,输入netstat -aon | findstr 8080

找到对应的进程的PID,假设是7659 再输入如下的命令

taskkill /pid 7659 /F

即可删除对应的进程。

在项目lib中加入mysql的jar包,然后写jdbc链接信息即可,如下提供多种链接方式希望对你有帮助

JDBC连接MySQL

加载及注册JDBC驱动程序

Class.forName(“com.mysql.jdbc.Driver”);

Class.forName(“com.mysql.jdbc.Driver”).newInstance();

JDBC URL 定义驱动程序与数据源之间的连接

标准语法:

protocol(主要通讯协议):subprotocol(次要通讯协议,即驱动程序名称):data source identifier(数据源)

MySQL的JDBC URL格式:

jdbc:mysql//[hostname][:port]/[dbname][?param1=value1][param2=value2]….

 

示例:jdbc:mysql://localhost:3306/sample_db?user=rootpassword=your_password

 

常见参数:

user                       用户名

password                  密码

autoReconnect                  联机失败,是否重新联机(true/false)

maxReconnect              尝试重新联机次数

initialTimeout               尝试重新联机间隔

maxRows                   传回最大行数

useUnicode                 是否使用Unicode字体编码(true/false)

characterEncoding          何种编码(GB2312/UTF-8/…)

relaxAutocommit            是否自动提交(true/false)

capitalizeTypeNames        数据定义的名称以大写表示

建立连接对象

String url=”jdbc:mysql://localhost:3306/sample_db?user=rootpassword=your_password”;

Connection con = DriverManager.getConnection(url);

建立SQL陈述式对象(Statement Object)

Statement stmt = con.createStatement();

执行SQL语句

executeQuery()

String query = “select * from test”;

ResultSet rs=stmt.executeQuery(query);

结果集ResultSet

while(rs.next())

{rs.getString(1);rs.getInt(2);}

executeUpdate()

String upd=”insert into test (id,name) values(1001,xuzhaori)”;

int con=stmt.executeUpdate(upd);

execute()

示例:

try

 

 

{

 

 

 

 

 

}

catch(SQLException sqle)

{

}

finally

{

}

 

Java类型和SQL类型 技术手册P421

PreparedStatement(预编语句)

PreparedStatement stmt = conn.prepareStatement(“insert into test(id,name)values(?,?)”);

stmt.setInt(1,id);

stmt.setString(2,name);

注:一旦设定语句的参数值后,就可以多次执行改语句,直到调用clearParameters()方法将他清除为止

CallableStatement(预储程序)技术手册P430

JDBC2.0使用

ResultSet对象中的光标上下自由移动

Statement stmt = con.createStatement (ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

ResultSet rs=stmt.executeQuery(“select * from test”);

 

public Statement createStatement(int resultSetType,int resultSetConcuttency) throws SQLException

 

resultSetType

TYPE_FORWARD_ONLY            只能使用next()方法。

TYPE_SCROLL_SENSITIVE        可以上下移动,可以取得改变后的值。

TYPE_SCROLL_INSENSITIVE      可以上下移动。

resultSetConcuttency

CONCUR_READ_ONLY        只读

CONCUR_UPDATABLE        ResultSet对象可以执行数据库的新增、修改、和移除

 

直接使用ResultSet对象执行更新数据

新增数据

Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);

ResultSet uprs=stmt.executeQuery(“select * from test”);

uprs.moveToInsertRow();

uprs.updateInt(1,1001);

uprs.updateString(2,”许召日”);

uprs.insertRow;

更新数据

Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);

ResultSet uprs=stmt.executeQuery(“select * from test”);

uprs.last();

uprs.updateString(“name”,””);

uprs.updateRow;

删除数据

Statement stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE);

ResultSet uprs=stmt.executeQuery(“select * from test”);

uprs.absolute(4);

uprs.deleteRow();

 

批处理

con.setAutoCommit(false); 关闭自动认可模式

Statement stmt=con.createStatement();

int[] rows;

stmt.addBatch(“insert into test values(1001,xuzhaori)”);

stmt.addBatch(“insert into test values(1002,xuyalin)”);

rows=stmt.executeBatch();

con.commit(); 没有任何错误,执行批处理stmt.executeBatch();

 

JNDI-数据源(Data Source)与连接池(Connection Pool)

Tomcat的JDBC数据源设置 技术手册P439

连接池工具-Proxool Var 0.8.3 技术手册P446

设置web.xml

?xml version=”1.0″ encoding=”ISO-8859-1″?

!–?xml version=”1.0″ encoding=”GB2312″?–

 

web-app xmlns=””

xmlns:xsi=””

xsi:schemaLocation=””

version=”2.4″

….

servlet

servlet-nameServletConfigurator/servlet-name

servlet-classorg.logicalcobwebs.proxool.configuration.ServletConfigurator/servlet-class

 

init-param

param-namepropertyFile/param-name

param-valueWEB-INF/classes/Proxool.properties/param-value

/init-param

load-on-startup1/load-on-startup

/servlet

后端统计端口添加下列

servlet

servlet-nameAdmin/servlet-name

servlet-classorg.logicalcobwebs.proxool.admin.servlet.AdminServlet/servlet-class

/servlet

 

servlet-mapping

servlet-nameAdmin/servlet-name

url-pattern/Admin/url-pattern

/servlet-mapping

 

….

 

/web-app

 

配置Proxool.properties

jdbc-0.proxool.alias=JSPBook

jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver

jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/sample_db?user=rootpassword=browseruseUnicode=truecharacterEncoding=UTF-8

jdbc-0.proxool.maximum-connection-count=10

jdbc-0.proxool.prototype-count=4

jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE

jdbc-0.proxool.verbose=true

jdbc-0.proxool.statistics=10s,1m,1d    后端统计接口添加此行

jdbc-0.proxool.statistics-log-level=DEBUG

使用Proxool连接池

Connection con = DriverManager.getConnection(“proxool.JSPBook”);

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

String query = “SELECT * FROM employee”;

ResultSet rs = stmt.executeQuery(query);

原创文章,作者:简单一点,如若转载,请注明出处:https://www.506064.com/n/126919.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
简单一点的头像简单一点
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相关推荐

  • javajdk16的简单介绍

    本文目录一览: 1、求java jdk1.5.0 16 下载!! 2、jdk16下载了怎样在电脑系统中删除 3、java环境变量配置问题 4、JDK下载和安装 求java jdk1…

    编程 2024-10-03
  • iOS 字符串分割—从多个方面深入研究

    一、字符串基础 在进行字符串分割之前,需要了解字符串的基础知识。 在 iOS 中,字符串是 NSString 类的实例,它是一个不可变的 Unicode 字符序列。可以使用以下方式…

    编程 2024-10-04
  • 使用CSS实现前端表单验证的方法

    一、基础知识 表单验证是Web开发中必不可少的一个环节,它可以帮助我们确保用户输入的数据符合我们的要求,避免无效的数据被提交到服务器。常见的表单验证方式包括前端验证和后端验证,前端…

    编程 2024-11-18
  • STM32CubeMXADC详解

    一、ADC的基本概念 模拟数字转换器(ADC)是一种将模拟电压转换为数字量的电子设备。它可以将来自传感器或其他电子设备的模拟信号转换为数字信号,以便微处理器可以进行分析和处理。在嵌…

    编程 2024-12-10
  • 深入了解文件hash

    一、文件hash值是什么 文件hash值是一个固定长度的数字或字符串,代表了一个特定文件在不同时间点的文件内容。在大部分情况下,文件hash值是由文件内容经过一定算法生成的。文件h…

    编程 2024-11-27
  • Git Stash指定文件详解

    一、基本概念 Git stash是Git提供的一个非常实用的命令,可以让我们暂存当前工作区的改动,以便来处理一些紧急的问题或者切换分支等操作。而Git stash指定文件则是在st…

    编程 2024-11-19
  • Python中的pandas join函数应用

    伴随着大数据时代的到来,数据处理的重要性也逐渐受到更多人的重视。pandas作为python中一个非常重要的数据处理库,被广泛应用于数据清洗、分析、建模等各个方面。在pandas中…

    编程 2024-10-04
  • Gperf详解

    一、Gperf简介 Gperf是一款代码生成工具,用于生成key-value对的散列表并以C或C++的形式输出。它使用了一种名为“字典树”(trie-tree)的数据结构,并在其基…

    编程 2024-11-05
  • Npcap安装详解

    一、Npcap安装图解 为了方便大家理解Npcap安装过程,下面我们先来看一下Npcap安装的详细图解。 1、下载Npcap安装程序,并打开进行安装。 <img src=”n…

    编程 2024-10-04
  • Ubuntu卸载Mysql并重新安装

    一、卸载Mysql 1、首先,我们需要停止Mysql服务: sudo systemctl stop mysql 2、查看Mysql是否有运行: sudo systemctl sta…

    编程 2024-10-31

发表回复

登录后才能评论