`
tntxia
  • 浏览: 1507451 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

JDBC连接MySQL

阅读更多

JDBC连接MySQL

加载及注册JDBC驱动程序

Class.forName("com.mysql.jdbc.Driver");

Class.forName("com.mysql.jdbc.Driver").newInstance();

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

标准语法:

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

MySQLJDBC URL格式:

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

 

示例:jdbc:mysql://localhost:3306/sample_db?user=root&password=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=root&password=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 stmtcon.createStatementResultSet.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 stmtcon.createStatementResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_PUDATABLE;

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

uprs.last();

uprs.updateString("name","xuzhaori");

uprs.updateRow;

删除数据

Statement stmtcon.createStatementResultSet.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

TomcatJDBC数据源设置  技术手册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="http://java.sun.com/xml/ns/j2ee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"

version="2.4">

….

<servlet>

<servlet-name>ServletConfigurator</servlet-name>

<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>

 

<init-param>

<param-name>propertyFile</param-name>

<param-value>WEB-INF/classes/Proxool.properties</param-value>

</init-param>

<load-on-startup>1</load-on-startup>

</servlet>

后端统计端口添加下列

<servlet>

<servlet-name>Admin</servlet-name>

<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>

</servlet>

 

<servlet-mapping>

<servlet-name>Admin</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=root&password=browser&useUnicode=true&characterEncoding=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);

分享到:
评论

相关推荐

    jdbc连接mysql工具类

    总之,`jdbc连接mysql工具类`主要涉及JDBC API的使用,包括数据库连接、预编译的SQL语句(PreparedStatement)、结果集处理以及资源管理。这个工具类可以极大地简化数据库操作,提高代码的可维护性和复用性。通过...

    JDBC连接Mysql数据库案例

    本案例将探讨如何使用JDBC连接MySQL数据库,并通过实际的代码示例讲解整个过程。我们将涉及以下知识点: 1. **JDBC驱动注册**: 在Java中,连接MySQL数据库首先需要加载并注册JDBC驱动。MySQL的JDBC驱动类是`...

    PB11.5 通过JDBC连接MySQL

    5. **PBDemo_JDBC**:这个文件可能是包含示例代码或教程的项目,用于演示如何在PB11.5中使用JDBC连接MySQL。打开并研究此文件,了解具体的实现细节和最佳实践。 6. **错误处理和资源管理**:在完成数据库操作后,...

    JDBC连接MySQL例子

    本示例是关于如何使用JDBC连接MySQL数据库的一个实践教程,涵盖了数据库连接、数据操作以及大文本和图片的存储。 首先,我们需要了解JDBC的基本流程,包括加载驱动、建立连接、创建Statement或PreparedStatement...

    一个JDBC连接mysql驱动

    本篇文章将深入探讨如何使用JDBC连接MySQL驱动,这对于JSP(JavaServer Pages)的初学者来说是非常重要的知识。 首先,我们需要了解JDBC的基本概念。JDBC驱动是Java程序连接到特定数据库的桥梁,对于MySQL,我们...

    java jdbc连接mySql的小例子

    通过这个小例子,我们可以学习到Java中使用JDBC连接MySQL的基本步骤。它展示了从建立连接到执行SQL,再到处理结果和关闭连接的完整流程。了解这些概念后,你就可以根据需要扩展代码,实现更复杂的数据库操作,如事务...

    JDBC连接Mysql数据库

    本教程将详细介绍如何使用JDBC连接MySQL数据库,实现数据的增、删、改、查操作,这对于初学者来说是一个重要的学习起点。 首先,确保你的系统中已经安装了MySQL数据库并创建了一个数据库实例。接下来,你需要获取...

    java jdbc连接mysql所需要的jar包

    以下是关于使用Java JDBC连接MySQL所需的知识点: 1. **JDBC驱动类型**: JDBC驱动主要有四种类型:Type 1、Type 2、Type 3和Type 4。对于MySQL,我们通常使用Type 4,即纯Java的网络驱动,因为它无需中间层,性能...

    jdbc 连接MySQL 例子

    jdbc连接mysql的例子,调试通过的 给初学者们节省时间

    jdbc连接mysql详细操作源代码带数据库脚本

    本文将详细讲解如何使用JDBC连接MySQL数据库,并提供相关的源代码示例,以及数据库脚本的使用。 首先,让我们了解JDBC的基本概念。JDBC是Java API,它为开发者提供了一种标准的接口,使得Java应用程序能够访问和...

    在Eclipse中用JDBC连接MySQL数据库!.txt

    ### 在Eclipse中使用JDBC连接MySQL数据库的关键步骤与注意事项 #### 一、准备工作与环境配置 1. **下载MySQL数据库:** - 版本选择:MySQL 6.0。 - 下载地址:[http://dev.mysql.com/downloads/mysql/6.0.html]...

    java 使用jdbc 连接mysql 实现增删改查

    java 使用jdbc 连接mysql 实现增删改查java 使用jdbc 连接mysql 实现增删改查java 使用jdbc 连接mysql 实现增删改查java 使用jdbc 连接mysql 实现增删改查java 使用jdbc 连接mysql 实现增删改查

    jdbc连接mysql数据库,实现增删改查

    本教程将深入探讨如何使用JDBC连接MySQL数据库并实现增、删、改、查(CRUD)操作。首先,我们需要确保已经安装了MySQL数据库,并且在系统中配置了相应的驱动。 1. **引入MySQL JDBC驱动** 要使用JDBC与MySQL通信,...

    PB通过JDBC连MYSQL教程

    以上就是使用PB通过JDBC连接MySQL的基本过程。通过熟练掌握这些步骤,你可以构建出与MySQL数据库交互的高效应用程序。记得在实际开发中,要根据项目需求调整连接参数,如SSL设置、字符集等,确保数据的安全性和兼容...

    JDBC连接MySQL 实例

    **JDBC连接MySQL实例详解** Java Database Connectivity (JDBC) 是Java编程语言中用于与数据库交互的一种接口标准,由Sun Microsystems公司(现为Oracle公司)开发。它为Java程序员提供了标准化的方法来创建、执行...

    \纯JDBC连接MySQl数据库.doc

    在Java编程中,纯JDBC(Java Database Connectivity)连接MySQL数据库是一种基础且直接的方式,用于实现Java应用程序与MySQL数据库之间的交互。下面将详细解析标题和描述中涉及的知识点,并扩展相关的内容。 1. **...

    JDBC连接MySQL数据库关键的四个步骤

    ### JDBC连接MySQL数据库关键的四个步骤 在现代软件开发中,Java作为一种广泛使用的编程语言,其与数据库的交互是必不可少的一部分。JDBC(Java Database Connectivity)作为Java平台上的标准数据库访问接口,允许...

    自己写的一个使用jdbc连接mysql的源代码

    本项目是一个使用JDBC连接MySQL数据库的简单示例,虽然目前只包含了基本的连接功能,但已经能够展示出如何通过Java代码与MySQL数据库进行交互。 首先,我们需要理解JDBC的核心概念。JDBC提供了一组接口和类,使得...

Global site tag (gtag.js) - Google Analytics