`
bobshute
  • 浏览: 284846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JDBC连接MySQL 举例2

阅读更多

JDBC Name: Connector/J 3.0
URL: http://www.mysql.com/
Version: 3.0.8-stable
Download URL: http://www.mysql.com/downloads/api-jdbc-stable.html

语法

Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://host:port/database","user","password");

编程

1、用DriverManager登记mm.mysql
mm.mysql
class名为org.gjt.mm.mysql.Driver,登记时必须写成
Class.forName("org.gjt.mm.mysql.Driver").newInstance();

2jdbc url参数说明
url
格式:jdbc:mysql://[hostname][:port]/dbname[?param1=value1][?m2=value2]...
参数名 取值 缺省
user
数据库用户名
password
数据库用户口令
autoReconnect
当数据库连接丢失时是否自动连接,取值true/false false
maxReconnects
如果autoReconnecttrue,此参数为重试次数,缺省为3 3
initialTimeout
如果autoReconnecttrue,此参数为重新连接前等待的秒数 2
maxRows
设置查询时返回的行数,0表示全部 0
useUnicode
是否使用unicode输出,true/false false
characterEncoding
如果useUnicode,该参数制定encoding类型,建议使用8859_1

提示
同时使用useUnicode,characterEncoding,能解决数据库输出时的中文问题
:jdbc:mysql://localhost/test?user=root&useUnicode=true;characterEncoding=8859_1

实际例子,举一个简单的例子
这个jsp例子使用一个库,该库只有一个表(地址簿)

create database addressbook
use addressbook
create table addressbook (id int auto_increment primary key,name varchar(30),address varchar(255),phone varchar(20));

插入记录
insert into addressbook (name,address,phone) values ('jjx','zhejiang yuyao','0574-2222222');

jsp代码:代码中使用了absolute,ResultSet.TYPE_SCROOL_SENSITIVE等的目录是为了测试mm.mysql是否符合jdbc 2.0的规范
<%@ page import="java.sql.*" %>
<%
out.println("
通讯录!");

try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();

}
catch (Exception E) {
out.println("Unable to load driver.");

}

try {
Connection C = DriverManager.getConnection("jdbc:mysql://localhost/addressbook?user=root&password=jjx&useUnicode=true&characterEncoding=8859_1");
Statement s=C.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=s.executeQuery("select * from addressbook");
out.println("<table border=1>");
int i=1;
for (i=10;i<20;i++)
{
if (rs.absolute(i))
{
out.println("<tr><td>");
out.println(rs.getString(1));
out.println("</td>");
out.println("<td>");
out.print(rs.getString(2));
out.println("</td>");
out.println("<td>");
out.print(rs.getString(3));
out.println("</td></tr>");
}
else
{
break;
}

}
out.println("</table>");
rs.close();
s.close();
C.close();


}
catch (SQLException E) {
out.println("SQLException: " + E.getMessage());
out.println("SQLState: " + E.getSQLState());
out.println("VendorError: " + E.getErrorCode());
}

%>

 

 

 

 

mm.mysql是个类型4(即纯java),符合jdbc 2规范的mysql jdbc驱动程序。当前版本为2.0 pre 5(beta)
你可以从http://www.worldserver.com/mm.mysql/  http://www.worldserver.com/下载最新的驱动程序
本文只是简单描述一下mm.mysql的安装和使用

安装
1
、下载mm.mysql
2
、解压到某驱动器,如c:
3
、修改classpath,加入mm.mysql的路径,如你原来的classpath可能是:
.;c:jdk1.2.2lib ools.jar;c:jdk1.2.2libdt.jar;
修改后可能是
.;c:jdk1.2.2lib ools.jar;c:jdk1.2.2libdt.jar;C:mm.mysql.jdbc-2.0pre5;

编程

1
、用DriverManager登记mm.mysql
mm.mysql
class名为org.gjt.mm.mysql.Driver,登记时必须写成
Class.forName("org.gjt.mm.mysql.Driver").newInstance();

2
jdbc url参数说明
url
格式:jdbc:mysql://[hostname][:port]/dbname[?param1=value1][¶m2=value2]...
参数名 取值 缺省
user
数据库用户名
password
数据库用户口令
autoReconnect
当数据库连接丢失时是否自动连接,取值true/false false
maxReconnects
如果autoReconnecttrue,此参数为重试次数,缺省为3 3
initialTimeout
如果autoReconnecttrue,此参数为重新连接前等待的秒数 2
maxRows
设置查询时返回的行数,0表示全部 0
useUnicode
是否使用unicode输出,true/false false
characterEncoding
如果useUnicode,该参数制定encoding类型,建议使用8859_1

提示
同时使用useUnicode,characterEncoding,能解决数据库输出时的中文问题
:jdbc:mysql://localhost/test?user=root&useUnicode=true;characterEncoding=8859_1

实际例子,举一个简单的例子
这个jsp例子使用一个库,该库只有一个表(地址簿)

create database addressbook
use addressbook
create table addressbook (id int auto_increment primary key,name varchar(30),address varchar(255),phone varchar(20));

插入记录
insert into addressbook (name,address,phone) values ('jjx','zhejiang yuyao','0574-2222222');

jsp
代码:代码中使用了absolute,ResultSet.TYPE_SCROOL_SENSITIVE等的目录是为了测试mm.mysql是否符合jdbc 2.0的规范
<%@ page import="java.sql.*" %>
<%
out.println("
通讯录!");

try {
Class.forName("org.gjt.mm.mysql.Driver").newInstance();

}
catch (Exception E) {
out.println("Unable to load driver.");

}

try {
Connection C = DriverManager.getConnection("jdbc:mysql://localhost/addressbook?user=root&password=jjx&useUnicode=true&characterEncoding=8859_1");
Statement s=C.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
ResultSet rs=s.executeQuery("select * from addressbook");
out.println("<table border=1>");
int i=1;
for (i=10;i<20;i++)
{
if (rs.absolute(i))
{
out.println("<tr><td>");
out.println(rs.getString(1));
out.println("</td>");
out.println("<td>");
out.print(rs.getString(2));
out.println("</td>");
out.println("<td>");
out.print(rs.getString(3));
out.println("</td></tr>");
}
else
{
break;
}

}
out.println("</table>");
rs.close();
s.close();
C.close();


}
catch (SQLException E) {
out.println("SQLException: " + E.getMessage());
out.println("SQLState: " + E.getSQLState());
out.println("VendorError: " + E.getErrorCode());
}

%>

分享到:
评论

相关推荐

    JDBC小例子

    在本小例子中,我们将探讨如何使用JDBC进行数据库连接、执行SQL语句以及处理结果。 首先,我们需要导入必要的JDBC库。在Java程序中,我们通常会引入以下库: ```java import java.sql.Connection; import java.sql...

    Java-JDBC资料.pdf

    #### 数据库连接方式举例 在Java代码中,通过调用 `DriverManager.getConnection()` 方法,并传入数据库连接的URL、用户名和密码,来建立与数据库的连接。以下是一个示例代码段: ```java String url = "jdbc:...

    java两种连接池的使用举例

    C3P0是一款开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。配置C3P0通常需要以下步骤: 1. 添加C3P0的依赖到项目中,例如在Maven项目中,在pom.xml文件中添加如下依赖: ```xml ...

    JDBC驱动资料一览表

    举例来说,连接名为`allandb`且端口号为3306的数据库,其URL应写作:`jdbc:mysql://localhost:3306/allandb`。 #### Access数据库 - **驱动文件**: Java SE环境下无需额外安装 - **驱动类**: sun.jdbc.odbc....

    jdbc.properties

    这个文件通常以键值对的形式存在,例如`url=jdbc:mysql://localhost:3306/mydb`,`username=root`和`password=myPassword`等,这些设置使得程序能够连接到特定的数据库服务。 博客链接指向的是ITEYE上的一篇博客...

    sql.rar_jsp JDBC数据库 删除

    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password"); ``` 2. **创建Statement或PreparedStatement对象**:为了执行SQL语句,我们需要创建`Statement`...

    mycat2镜像压缩文件 zhangyx1619/mycat2

    "DATA_SOURCE_URL=jdbc:mysql://127.0.0.1:6606/mysql?useUnicode=true&serverTimezone=Asia/Shanghai&characterEncoding=UTF-8", "DATA_SOURCE_USER=mycat", "DATA_SOURCE_PASSWORD=!@#123", "MYCAT_ROOT_...

    java程序是怎么操作数据库的,可以以常用据库为例,求详细解答,最好能举例。

    2. **直接使用JDBC驱动连接数据库** ##### 1. 通过ODBC桥连接数据库 这种方式是通过JDBC-ODBC Bridge来实现的。其工作流程如下: - JDBC Driver Manager -&gt; JDBC-ODBC桥 -&gt; ODBC -&gt; 数据库客户机驱动库 -&gt; 数据库...

    Sql和jdbc教程(私塾在线)视频配套学习资料

    - **举例**:关系型数据库包括 Oracle、MySQL、SQL Server、DB2、HSQLDB、Derby 等。 ##### 4. 关系简介 - **定义**:关系型数据库采用关系数学模型来表示数据,通常以二维表形式展示。 - **要素**:关系模型由关系...

    Spring Boot2.6.13集成FineReport11.0教程

    用户需要了解如何定义数据连接、添加 JDBC 驱动、设置连接参数等。 知识点 5:报表预览 在报表设计完成后,用户需要预览报表以检测 SQL 是否正确、检查数据是否正确。用户需要了解如何预览报表、排错和解决问题。 ...

    快逸报表在J2EE部署中最简实例

    打开设计器之后, 安装后打开报表设计器,选择配置-数据源-新建-关系数据库,开始配置数据源,笔者用的是mysql,以mysql举例: 其中关键位置如下: 数据源名称要记住,因为在部署的时候,配置数据库时名字要和这保持...

    开发ejb3的第一个实例

    &lt;connection-url&gt;jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=GBK &lt;driver-class&gt;com.mysql.jdbc.Driver&lt;/driver-class&gt; &lt;user-name&gt;root &lt;password&gt;root ``` **5. 持久化配置** 在...

    java毕设课设-jsp+mysql在线考试系统论文.doc

    采用JDBC(Java Database Connectivity)进行数据库连接。通过配置数据源(DataSource),实现数据库连接的复用,提高效率。 ##### 3.3 Servlet 的使用 Servlet是Java EE的重要组成部分,负责处理HTTP请求和响应。...

    hibernate实例

    通过使用Hibernate,程序员可以面向对象的方式操作数据库,而不需要编写繁琐的JDBC代码。Hibernate的核心功能是实现对象关系映射(ORM),即对象模型到关系模型的映射。 首先,了解Hibernate的基本概念是重要的。...

    java中executeQuery()方法

    使用JDBC连接数据库需要4步:executeQuery()方法是第四步执行查询;要用statement类的executeQuery()方法来下达select指令以查询数据库,executeQuery()方法会把数据库响应的查询结果存放在ResultSet类对象中供我们...

    SSM框架详细整合教程

    ##### 3.3 数据库连接配置 (`jdbc.properties`) ```properties driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8 username=root password=...

    Servlet初始化参数演示例子[源代码]

    @WebInitParam(name = "dbUrl", value = "jdbc:mysql://localhost:3306/mydb") }) public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, ...

    JavaEE技术-DAO设计模式

    在没有使用DAO设计模式之前,数据库操作通常直接在JSP页面中使用JDBC代码,或者通过JavaBean和Servlet来实现,这样做的结果是代码混杂,难以维护。而DAO模式正是为了解决这些问题而生,它将数据库的操作封装起来,让...

Global site tag (gtag.js) - Google Analytics