jdbcmysql连接字符串属性,jdbcsql语句

本文目录一览:

jdbc连接mysql时前面定义的一堆字符串具体是干嘛的

username password我就不说了, driver就是指定mysql的驱动类class,url里面localhost是你的mysql server所在的ip地址,这里是本机所以用localhost,后面的3306是mysql server的端口,mydb是连接的数据库名称, jdbc:mysql:就相当于网址前面的http,就是协议拉

使用JDBC连接mysql数据库,读取表test中的数据,并打印

要使用mysql的jar包,数据库名为test,表名shop,列名shopName

package com.yunix;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class Test {

public static void main(String []args){

Connection con = getAccessCon();

try {

Statement st = con.createStatement();

ResultSet rs = st.executeQuery(“select * from shop”);

while(rs.next()){

System.out.println(rs.getString(“shopName”));

}

rs.close();

st.close();

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

public static Connection getAccessCon(){

Connection con = null;

try{

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

con=DriverManager.getConnection(“jdbc:mysql://localhost:3306/test?user=rootpassword=root”);

}catch(Exception e){

e.printStackTrace();

}

return con;

}

}

浅谈JDBC怎么连接数据库

各个开发商的接口并不完全相同,所以开发环境的变化会带来一定的配置变化。本文主要集合了不同数据库的连接方式。

JDBC怎么连接数据库一、连接各种数据库方式速查表

下面罗列了各种数据库使用JDBC连接的方式,可以作为一个手册使用。

1、Oracle8/8i/9i数据库(thin模式)

Class.forName(“oracle.jdbc.driver.OracleDriver”).newInstance();

Stringurl=”jdbcracle:thinlocalhost:1521rcl”;//orcl为数据库的SID

Stringuser=”test”;

Stringpassword=”test”;

Connectionconn=DriverManager.getConnection(url,user,password);

2、DB2数据库

Class.forName(“com.ibm.db2.jdbc.app.DB2Driver”).newInstance();

Stringurl=”jdbc:db2://localhost:5000/sample”;//sample为你的数据库名

Stringuser=”admin”;

Stringpassword=””;

Connectionconn=DriverManager.getConnection(url,user,password);

3、SqlServer7.0/2000数据库

Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”).newInstance();

Stringurl=”jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb”;

//mydb为数据库

Stringuser=”sa”;

Stringpassword=””;

Connectionconn=DriverManager.getConnection(url,user,password);

4、Sybase数据库

Class.forName(“com.sybase.jdbc.SybDriver”).newInstance();

Stringurl=”jdbc:sybase:Tds:localhost:5007/myDB”;//myDB为你的数据库名

PropertiessysProps=System.getProperties();

SysProps.put(“user”,”userid”);

SysProps.put(“password”,”user_password”);

Connectionconn=DriverManager.getConnection(url,SysProps);

5、Informix数据库

Class.forName(“com.informix.jdbc.IfxDriver”).newInstance();

Stringurl=”jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

user=testuser;password=testpassword”;//myDB为数据库名

Connectionconn=DriverManager.getConnection(url);

6、MySQL数据库

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

Stringurl=”jdbc:mysql://localhost/myDB?user=softpassword=soft1234useUnicode=truecharacterEncoding=8859_1″

//myDB为数据库名

Connectionconn=DriverManager.getConnection(url);

7、PostgreSQL数据库

Class.forName(“org.postgresql.Driver”).newInstance();

Stringurl=”jdbc:postgresql://localhost/myDB”//myDB为数据库名

Stringuser=”myuser”;

Stringpassword=”mypassword”;

Connectionconn=DriverManager.getConnection(url,user,password);

8、access数据库直连用ODBC的

Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

Stringurl=”jdbcdbcriver={MicroSoftAccessDriver(*.mdb)};DBQ=”+application.getRealPath(“/Data/ReportDemo.mdb”);

Connectionconn=DriverManager.getConnection(url,””,””);

StatementstmtNew=conn.createStatement();

JDBC怎么连接数据库二、JDBC连接MySql方式

下面是使用JDBC连接MySql的一个小的教程

1、查找驱动程序

MySQL目前提供的java驱动程序为Connection/J,可以从MySQL官方网站下载,并找到mysql-connector-java-3.0.15-ga-bin.jar文件,此驱动程序为纯java驱动程序,不需做其他配置。

2、动态指定classpath

如果需要执行时动态指定classpath,就在执行时采用-cp方式。否则将上面的.jar文件加入到classpath环境变量中。

3、加载驱动程序

try{

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

System.out.println(SuccessloadingMysqlDriver!);

}catch(Exceptione)

{

System.out.println(ErrorloadingMysqlDriver!);

e.printStackTrace();

}

4、设置连接的url

jdbc:mysql://localhost/databasename[?pa=va][&pa=va]

JDBC怎么连接数据库三、以下列出了在使用JDBC来连接Oracle数据库时可以使用的一些技巧

1、在客户端软件开发中使用Thin驱动程序

在开发Java软件方面,Oracle的数据库提供了四种类型的驱动程序,二种用于应用软件、applets、servlets等客户端软件,另外二种用于数据库中的Java存储过程等服务器端软件。在客户机端软件的开发中,我们可以选择OCI驱动程序或Thin驱动程序。OCI驱动程序利用Java本地化接口(JNI),通过Oracle客户端软件与数据库进行通讯。Thin驱动程序是纯Java驱动程序,它直接与数据库进行通讯。为了获得最高的性能,Oracle建议在客户端软件的开发中使用OCI驱动程序,这似乎是正确的。但我建议使用Thin驱动程序,因为通过多次测试发现,在通常情况下,Thin驱动程序的性能都超过了OCI驱动程序。

2、关闭自动提交功能,提高系统性能

在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的Connection类的setAutoCommit()方法关闭自动提交功能,如下所示:

conn.setAutoCommit(false);

值得注意的是,一旦关闭了自动提交功能,我们就需要通过调用Connection类的commit()和rollback()方法来人工的方式对事务进行管理。

3、在动态SQL或有时间限制的命令中使用Statement对象

在执行SQL命令时,我们有二种选择:可以使用PreparedStatement对象,也可以使用Statement对象。无论多少次地使用同一个SQL命令,PreparedStatement都只对它解析和编译一次。当使用Statement对象时,每次执行一个SQL命令时,都会对它进行解析和编译。这可能会使你认为,使用PreparedStatement对象比使用Statement对象的速度更快。然而,我进行的测试表明,在客户端软件中,情况并非如此。因此,在有时间限制的SQL操作中,除非成批地处理SQL命令,我们应当考虑使用Statement对象。

此外,使用Statement对象也使得编写动态SQL命令更加简单,因为我们可以将字符串连接在一起,建立一个有效的SQL命令。因此,我认为,Statement对象可以使动态SQL命令的创建和执行变得更加简单。

4、利用helper函数对动态SQL命令进行格式化

在创建使用Statement对象执行的动态SQL命令时,我们需要处理一些格式化方面的问题。例如,如果我们想创建一个将名字O’Reilly插入表中的SQL命令,则必须使用二个相连的“””号替换O’Reilly中的“’”号。完成这些工作的最好的方法是创建一个完成替换操作的helper方法,然后在连接字符串心服用公式表达一个SQL命令时,使用创建的helper方法。与此类似的是,我们可以让helper方法接受一个Date型的值,然后让它输出基于Oracle的to_date()函数的字符串表达式。

5、利用PreparedStatement对象提高数据库的总体效率

在使用PreparedStatement对象执行SQL命令时,命令被数据库进行解析和编译,然后被放到命令缓冲区。然后,每当执行同一个PreparedStatement对象时,它就会被再解析一次,但不会被再次编译。在缓冲区中可以发现预编译的命令,并且可以重新使用。在有大量用户的企业级应用软件中,经常会重复执行相同的SQL命令,使用PreparedStatement对象带来的编译次数的减少能够提高数据库的总体性能。如果不是在客户端创建、预备、执行PreparedStatement任务需要的时间长于Statement任务,我会建议在除动态SQL命令之外的所有情况下使用PreparedStatement对象。

6、在成批处理重复的插入或更新操作中使用PreparedStatement对象

如果成批地处理插入和更新操作,就能够显著地减少它们所需要的时间。Oracle提供的Statement和CallableStatement并不真正地支持批处理,只有PreparedStatement对象才真正地支持批处理。我们可以使用addBatch()和executeBatch()方法选择标准的JDBC批处理,或者通过利用PreparedStatement对象的setExecuteBatch()方法和标准的executeUpdate()方法选择速度更快的Oracle专有的方法。要使用Oracle专有的批处理机制,可以以如下所示的方式调用setExecuteBatch():

PreparedStatementpstmt3Dnull;

try{

((OraclePreparedStatement)pstmt).setExecuteBatch(30);

pstmt.executeUpdate();

}

调用setExecuteBatch()时指定的值是一个上限,当达到该值时,就会自动地引发SQL命令执行,标准的executeUpdate()方法就会被作为批处理送到数据库中。我们可以通过调用PreparedStatement类的sendBatch()方法随时传输批处理任务。

7、使用Oraclelocator方法插入、更新大对象(LOB)

Oracle的PreparedStatement类不完全支持BLOB和CLOB等大对象的处理,尤其是Thin驱动程序不支持利用PreparedStatement对象的setObject()和setBinaryStream()方法设置BLOB的值,也不支持利用setCharacterStream()方法设置CLOB的值。只有locator本身中的方法才能够从数据库中获取LOB类型的值。可以使用PreparedStatement对象插入或更新LOB,但需要使用locator才能获取LOB的值。由于存在这二个问题,因此,我建议使用locator的方法来插入、更新或获取LOB的值。

8、使用SQL92语法调用存储过程

在调用存储过程时,我们可以使用SQL92或OraclePL/SQL,由于使用OraclePL/SQL并没有什么实际的好处,而且会给以后维护你的应用程序的开发人员带来麻烦,因此,我建议在调用存储过程时使用SQL92。

9、使用ObjectSQL将对象模式转移到数据库中

既然可以将Oracle的数据库作为一种面向对象的数据库来使用,就可以考虑将应用程序中的面向对象模式转到数据库中。目前的方法是创建Javabean作为伪装的数据库对象,将它们的属性映射到关系表中,然后在这些bean中添加方法。尽管这样作在Java中没有什么问题,但由于操作都是在数据库之外进行的,因此其他访问数据库的应用软件无法利用对象模式。如果利用Oracle的面向对象的技术,可以通过创建一个新的数据库对象类型在数据库中模仿其数据和操作,然后使用JPublisher等工具生成自己的Javabean类。如果使用这种方式,不但Java应用程序可以使用应用软件的对象模式,其他需要共享你的应用中的数据和操作的应用软件也可以使用应用软件中的对象模式。

10、利用SQL完成数据库内的操作

我要向大家介绍的最重要的经验是充分利用SQL的面向集合的方法来解决数据库处理需求,而不是使用Java等过程化的编程语言。

如果编程人员要在一个表中查找许多行,结果中的每个行都会查找其他表中的数据,最后,编程人员创建了独立的UPDATE命令来成批地更新第一个表中的数据。与此类似的任务可以通过在set子句中使用多列子查询而在一个UPDATE命令中完成。当能够在单一的SQL命令中完成任务,何必要让数据在网上流来流去的?我建议用户认真学习如何最大限度地发挥SQL的功能。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/312021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2025-01-05 16:05
下一篇 2025-01-05 16:05

相关推荐

  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python中将字符串转化为浮点数

    本文将介绍在Python中将字符串转化为浮点数的常用方法。在介绍方法之前,我们先来思考一下这个问题应该如何解决。 一、eval函数 在Python中,最简单、最常用的将字符串转化为…

    编程 2025-04-29
  • Python3支持多行语句

    Python3是一种高级编程语言,开发人员可以轻松地使用该语言编写简单到复杂的代码。其中Python3支持多行语句,方便开发人员编写复杂的代码,提高代码的可读性和可维护性。 一、使…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python学习笔记:去除字符串最后一个字符的方法

    本文将从多个方面详细阐述如何通过Python去除字符串最后一个字符,包括使用切片、pop()、删除、替换等方法来实现。 一、字符串切片 在Python中,可以通过字符串切片的方式来…

    编程 2025-04-29
  • Python for循环语句打印九九乘法表

    本篇文章将详细介绍如何使用Python的for循环语句打印九九乘法表。打印九九乘法表是我们初学Python时经常练习的一项基础操作,也是编写Python程序的基本能力之一。 1、基…

    编程 2025-04-29
  • Python中while语句和for语句的区别

    while语句和for语句是Python中两种常见的循环语句,它们都可以用于重复执行一段代码。然而,它们的语法和适用场景有所不同。本文将从多个方面详细阐述Python中while语…

    编程 2025-04-29
  • 全面解读数据属性r/w

    数据属性r/w是指数据属性的可读/可写性,它在程序设计中扮演着非常重要的角色。下面我们从多个方面对数据属性r/w进行详细的阐述。 一、r/w的概念 数据属性r/w即指数据属性的可读…

    编程 2025-04-29
  • Vant ContactList 增加属性的实现方法

    在使用前端UI框架Vant中的ContactList组件时,我们有时需要为此组件增加一些个性化的属性,来满足我们特定的需求。那么,如何实现ContactList组件的增加属性功能呢…

    编程 2025-04-29
  • Python中自定义函数必须有return语句

    自定义函数是Python中最常见、最基本也是最重要的语句之一。在Python中,自定义函数必须有明确的返回值,即必须要有return语句。本篇文章将从以下几个方面对此进行详细阐述。…

    编程 2025-04-29

发表回复

登录后才能评论