JDBC操作步骤以及MySQL数据库连接操作

合集下载

jdbc连接数据库的四个步骤

jdbc连接数据库的四个步骤

jdbc连接数据库的四个步骤一、引入jdbc相关的jar包在使用jdbc连接数据库之前,需要先引入jdbc相关的jar包,以便在代码中使用jdbc的相关类和方法。

常用的jdbc jar包有mysql-connector-java、ojdbc等,根据所使用的数据库类型选择相应的jar包。

二、加载数据库驱动加载数据库驱动是使用jdbc连接数据库的第一步。

不同的数据库有不同的驱动类,需要根据所使用的数据库类型加载相应的驱动类。

加载驱动的方式有两种:一种是使用Class.forName()方法加载驱动类,另一种是使用DriverManager.registerDriver()方法注册驱动类。

三、建立数据库连接建立数据库连接是使用jdbc连接数据库的第二步。

在建立数据库连接之前,需要先获取数据库连接所需的连接信息,包括数据库的URL、用户名和密码。

数据库的URL是连接数据库的唯一标识,用户名和密码用于验证用户身份。

通过调用DriverManager.getConnection()方法,并传入连接信息参数,即可建立数据库连接。

四、执行数据库操作建立数据库连接之后,就可以执行数据库操作了。

数据库操作包括数据的增删改查等操作。

在执行数据库操作之前,需要创建Statement或PreparedStatement对象,并使用这些对象执行相应的SQL语句。

Statement对象用于执行静态SQL语句,而PreparedStatement对象用于执行带有参数的预编译SQL语句。

执行SQL语句后,可以通过ResultSet对象获取查询结果。

jdbc连接数据库的四个步骤如上所述,其中第一步是引入jdbc相关的jar包,第二步是加载数据库驱动,第三步是建立数据库连接,第四步是执行数据库操作。

通过这四个步骤,可以实现使用jdbc连接数据库,进行数据的增删改查等操作。

在使用jdbc连接数据库时,需要注意以下几点:1. 引入的jdbc jar包需要与所使用的数据库类型对应,否则无法正常连接数据库。

JDBC连接MySQL

JDBC连接MySQL

JDBC连接MySQL经典方案最近在学习数据库开发的一些实例,这里浅谈一下用JDBC连接数据库MySQL(当然也可以连接SQL Sever或Oracle了,只是我更喜欢开源软件,同时也更简单)。

首先正确安装好MySQL,建立好数据库studentinfomysql>create database studentinfo;然后编写java代码,ConnectToMySQL.javaimport java.sql.*;public class ConnectToMySQL {public static Connection getConnection() throws SQLException ,ng.ClassNotFoundException{String url = "jdbc:mysql://localhost:3306/studentinfo";Class.forName("com.mysql.jdbc.Driver");String userName = "root";String password = "";Connection con = DriverManager.getConnection(url,userName,password); return con;}public static void main(String[] args) {try{Connection con = getConnection();Statement sql = con.createStatement();sql.execute("drop table if exists student");sql.execute("create table student(id int not null auto_increment,name varchar(20) not null default 'name',math int not null default 60,primary key(id));");sql.execute("insert student values(1,'AAA','99')");sql.execute("insert student values(2,'BBB','77')");sql.execute("insert student values(3,'CCC','65')");String query = "select * from student";ResultSet result = sql.executeQuery(query);System.out.println("Student表数据如下:");System.out.println("---------------------------------");System.out.println("学号"+" "+"姓名"+" "+"数学成绩");System.out.println("---------------------------------");int number;String name;String math;while(result.next()){number = result.getInt("id");name = result.getString("name");math = result.getString("math");System.out.println(number + " " + name + " " + math);}sql.close();con.close();}catch(ng.ClassNotFoundException e){System.err.println("ClassNotFoundException:" + e.getMessage()); }catch(SQLException ex){System.err.println("SQLException:" + ex.getMessage());}}}要注意的是使用MySQL数据库,需要用到对应的JDBC驱动程序mysql-connector-java-5.0.3import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.ResultSet;import java.sql.Statement;import java.sql.*;public class BaseConnection {private Connection con = null;protected Connection getCon(){ResultSet rs=null;Statement stmt = null;try {Class.forName("org.gjt.mm.mysql.Driver");String url="jdbc:mysql://192.168.0.10/数据库名?user=USR&password=PWD";conn = DriverManager.getConnection(url);stmt = conn.createStatem ent();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();}return con;}}1.把 mysql-connector-java-5.0.3-bin.jar放到%JAVA_HOME%\jre\lib\ext下2.访问类:package mysqldb;import java.sql.*;public class MysqlCon {private static String DriverName = "org.gjt.mm.mysql.Driver";private String dbURL = "jdbc:mysql://localhost/test";private String dbuser = "root";private String dbpassword = "";private Connection conn;private Statement stmt;private ResultSet rs;public MysqlCon(){try {Class.forName(DriverName).newInstance();conn = DriverManager.getConnection(dbURL,dbuser,dbpassword);stmt = conn.createStatement();String sql = "select * from worker";rs = stmt.executeQuery(sql);while(rs.next()){System.out.println(rs.getString(1));}} catch (InstantiationException e) {// TODO 自动生成catch 块e.printStackTrace();} catch (IllegalAccessException e) {// TODO 自动生成catch 块e.printStackTrace();} catch (ClassNotFoundException e) {// TODO 自动生成catch 块e.printStackTrace();} catch (SQLException e) {// TODO 自动生成catch 块e.printStackTrace();}}}package interphase;import java.sql.ResultSet;import java.sql.SQLException;import java.util.Vector;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTable;import javax.swing.table.AbstractTableModel;import mysqldb.MysqlCon;public class ShowRS {private AbstractTableModel atm;private JTable jtable;private Vector vector;private JScrollPane jsp;private String title[]={"职工号","职工名","性别","出生日期","工资"}; private MysqlCon mysqlcon;private JFrame frame;public ShowRS(){vector = new Vector();atm = new AbstractTableModel(){public int getColumnCount() {return title.length;}public int getRowCount() {return vector.size();}public Object getValueAt(int rowIndex, int columnIndex) {if(!vector.isEmpty())return ((Vector)vector.elementAt(rowIndex)).elementAt(columnIndex); elsereturn null;}//取得单元格中的属性值public String getColumnName(int columnIndex){return title[columnIndex];}//数据模型不可编辑,该方法设置为空public void setValueAt(){}//取得列所属对象类public Class getCoumnClass(int c){return getValueAt(0,c).getClass();}//设置单元格不可编辑,为缺省实现public boolean isCellEditable(int row,int column){return false;}};jtable = new JTable(atm);jtable.setToolTipText("显示全部查询结果");jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);jtable.setCellSelectionEnabled(false);jtable.setShowVerticalLines(true);jtable.setShowHorizontalLines(true);jsp = new JScrollPane(jtable);mysqlcon = new MysqlCon();vector.removeAllElements();atm.fireTableDataChanged();try {ResultSet rs = mysqlcon.getResultSet();while(rs.next()){Vector rec_vector = new Vector();rec_vector.addElement(rs.getString(1));rec_vector.addElement(rs.getString(2));rec_vector.addElement(rs.getString(3));rec_vector.addElement(rs.getDate(4));rec_vector.addElement(new Float(rs.getFloat(5)));vector.addElement(rec_vector);}} catch (SQLException e) {// TODO 自动生成catch 块e.printStackTrace();}atm.fireTableDataChanged();frame = new JFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.add(jsp);frame.setSize(400,300);frame.setVisible(true);}}教程由JAVA中文网整理校对发布()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=root&password=your_passwor d常见参数:user 用户名password 密码autoReconnect 联机失败,是否重新联机(true/false)maxReconnect 尝试重新联机次数initialTimeout 尝试重新联机间隔maxRows 传回最大行数useUnicode 是否使用Unicode字体编码(true/false)characterEncoding 何种编码(GB2312/UTF-8/…)relaxAutocommit 是否自动提交(true/false)capitalizeTypeNames 数据定义的名称以大写表示建立连接对象Stringurl="jdbc:mysql://localhost:3306/sample_db?user=root&password=your_pa ssword";Connection con = DriverManager.getConnection(url);建立SQL陈述式对象(Statement Object)Statement stmt = con.createStatement();执行SQL语句executeQuery()String query = "select * from test";ResultSet rs=stmt.executeQuery(query);结果集ResultSetwhile(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类型技术手册P421PreparedStatement(预编语句)PreparedStatement stmt = conn.prepareStatement("insert into test(id,name)values(?,?)");stmt.setInt(1,id);stmt.setString(2,name);注:一旦设定语句的参数值后,就可以多次执行改语句,直到调用clearParameters()方法将他清除为止CallableStatement(预储程序)技术手册P430JDBC2.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 SQLExceptionresultSetTypeTYPE_FORWARD_ONLY 只能使用next()方法。

jdbc访问数据库的基本步骤

jdbc访问数据库的基本步骤

jdbc访问数据库的基本步骤访问数据库的基本步骤如下:1. 加载驱动程序:通过Class.forName()方法加载数据库驱动程序,例如加载MySQL驱动程序:`Class.forName("com.mysql.jdbc.Driver")`。

2. 创建数据库连接:通过DriverManager.getConnection()方法创建与数据库的连接。

需要指定数据库的URL、用户名和密码,例如:`Connection connection =DriverManager.getConnection(url, username, password)`。

3. 创建Statement对象:通过Connection对象的createStatement()方法创建Statement对象,用于执行SQL语句,例如:`Statement statement = connection.createStatement()`。

4. 执行SQL语句:使用Statement对象的executeUpdate()方法执行SQL语句,例如:`int result =statement.executeUpdate(sql)`。

可以执行增删改操作。

5. 处理查询结果:如果执行的是查询语句,使用Statement对象的executeQuery()方法执行查询,并使用ResultSet对象获取结果集,例如:`ResultSet resultSet =statement.executeQuery(sql)`。

6. 关闭数据库连接:使用Connection对象的close()方法关闭数据库连接,例如:`connection.close()`。

使用JDBC连接Mysql数据库会出现的问题总结

使用JDBC连接Mysql数据库会出现的问题总结

使⽤JDBC连接Mysql数据库会出现的问题总结⾸先理清⼏个概念:JDBC:java数据库连接,是Orical公司的指定的⼀套规范接⼝java数据库驱动:JDBC的实现类,由相应的数据库⼚商提供,可以通过驱动去操作不同的数据库在java-数据库这⾥,jdbc-api中的所有包都是java.sql或者javax.sqlJDBC的操作步骤:(1)建⽴数据库和表(2)创建项⽬(3)导⼊驱动jar包(4)注册驱动Class.forName("com.mysql.jdbc.Driver");(5)获取连接Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:端⼝号/项⽬名", "登录名", "密码");前⾔最近安装了⼀个 mysql 8.0 版本的数据库,在程序中连接的时候可谓是状况不断。

之前也会遇到⼀些问题,这⾥就对使⽤ JDBC 连接mysql 会出现的问题做⼀个汇总。

在此之前说明⼀下环境:开发⼯具:IDEAmysql版本: 8.0.12 for Win64 on x86_64 (MySQL Community Server - GPL)mysql驱动包:8.0.12驱动包URL 的改变异常信息Loading class com.mysql.jdbc.Driver. This is deprecated. The new driver class is com.mysql.cj.jdbc.Driver. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.原因通过异常我们可以发现,新的驱动url是com.mysql.cj.jdbc.Driver,经过在⽹上查阅资料发现,从 mysql6开始,驱动包开始使⽤新的驱动 url。

jdbc的六个步骤

jdbc的六个步骤

jdbc的六个步骤
JDBC(Java Database Connectivity)是一种用于连接和操作数据库的 Java API。

它提供了一组标准的接口和类,使得 Java 程序能够与各种不同类型的数据库进行交互。

使用 JDBC 进行数据库操作通常包括以下六个步骤:
1. 加载和注册 JDBC 驱动程序:在使用 JDBC 之前,需要先加载并注册相应数据库的驱动程序。

这可以通过在代码中使用 Class.forName()方法来实现,传递数据库驱动程序的类名作为参数。

2. 创建数据库连接:使用 DriverManager 类的 getConnection()方法来创建与数据库的连接。

需要提供数据库的 URL、用户名和密码等连接信息。

3. 创建 Statement 对象:通过连接对象创建 Statement 对象,用于执行 SQL 语句。

4. 执行 SQL 语句:使用 Statement 对象的 executeQuery()或 executeUpdate()方法来执行 SQL 查询或更新操作。

5. 处理结果:如果执行的是查询操作,可以使用 ResultSet 对象来获取查询结果。

通过循环遍历 ResultSet 对象,可以获取每一行的数据。

6. 关闭资源:在完成数据库操作后,需要关闭连接、 Statement 和 ResultSet 对象,释放相关资源。

这六个步骤是使用 JDBC 进行数据库操作的基本流程。

需要根据具体的数据库类型和需求,适当地调整代码和参数。

数据库连接三种方法

数据库连接三种方法

JAVA与数据库连接方法(一)用JAVA连接数据库主要有两种方式,一是用JDBC-ODBC桥来连接,二是用相关厂商提供的相应驱动程序来连接,首先谈谈第一种连接。

JDBC-ODBC桥接器是用JdbcOdbc.Class和一个用于访问ODBC驱动程序的本地库实现的。

对于WINDOWS平台,该本地库是一个动态连接库DLL(JDBCODBC.DLL)。

由于JDBC在设计上与ODBC很接近。

在内部,这个驱动程序把JDBC的方法映射到ODBC调用上,这样,JDBC就可以和任何可用的ODBC驱动程序进行交互了。

这种桥接器的优点是,它使JDBC目前有能力访问几乎所有的数据库。

通行方式如图所示:应用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC层---数据源具体操作方法为:首先打开控制面板的管理工具,打开数据源(ODBC),在用户DSN里面添加数据源(即你要连接的数据库的名字),在这里假定连接SQL SERVER2000的GoodsSupply数据库。

名称填写你要连接的数据库的名称(GoodsSupply),然后逐步设置,如果选用了使用SQL-SERVER密码认证的话,就要输入相应的用户名及密码连接到数据库。

一路下一步设置完成。

在JAVA里面编写程序进行测试,在这里我的程序是让用户输入任意的表名与与列名,把该列的所有数据输出。

源代码如下:import java.io.BufferedReader;import java.io.InputStreamReader;import java.sql.*;public class ODBCBridge {public static void main(String[] args) {String url="jdbc:odbc:GoodsSupply";Statement sm=null;String command=null;ResultSet rs=null;String tableName=null;String cName=null;String result=null;BufferedReader input=new BufferedReader(new InputStreamReader(System.in)); try {try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动}catch(ClassNotFoundException e){System.out.println("Can not load Jdbc-Odbc Bridge Driver");System.err.print("ClassNotFoundException:");System.err.println(e.getMessage());}Connection con=DriverManager.getConnection(url,"USER","PASSWORD"); //使用SQL-SERVER2000认证DatabaseMetaData dmd=con.getMetaData(); //DMD为连接的相应情况System.out.println("连接的数据库:"+dmd.getURL());System.out.println("驱动程序:"+dmd.getDriverName());sm=con.createStatement();System.out.println("输入表名");tableName=input.readLine();while(true) {System.out.println("输入列名(为空时程序结束):");cName=input.readLine();if(cName.equalsIgnoreCase(""))break;command="select "+cName+" from "+tableName;rs=sm.executeQuery(command); //执行查询if(!rs.next())System.out.println("表名或列名输入有误");else {System.out.println("查询结果为:");do{result=rs.getString(cName);//数据库语言设置为中文,不用转换编码//result=new String(result.getBytes("ISO-8859-1"),"GB2312"); System.out.println(result);}while(rs.next());}}}catch(SQLException ex) {System.out.println("SQLException:");while(ex!=null) {System.out.println("Message:"+ex.getMessage());ex=ex.getNextException();}}catch(Exception e) {System.out.println("IOException");}}}JAVA与数据库连接方法(二)现在介绍第二种方法,用关厂商提供的相应驱动程序来连接。

JDBC连接数据库6个步骤

JDBC连接数据库6个步骤

JDBC连接数据库6个步骤JDBC(Java Database Connectivity)是Java语言连接数据库的一种标准API,它提供了一组用于访问和操作数据库的接口。

在使用JDBC 连接数据库时,一般需要经过以下6个步骤:1.加载数据库驱动程序:``````2.建立数据库连接:加载驱动程序后,需要获取一个数据库连接。

在JDBC中,可以通过DriverManager类的getConnection(方法来创建一个数据库连接对象。

该方法接受三个参数:数据库URL、用户名和密码。

数据库URL指定了要连接的数据库的位置和其他连接参数。

例如,如果要连接localhost上的名为test的MySQL数据库,可以使用如下代码:```String url = "jdbc:mysql://localhost:3306/test";String username = "root";String password = "password";Connection connection = DriverManager.getConnection(url, username, password);```3. 创建Statement对象:创建Statement对象用于执行SQL语句。

Statement是JDBC中用于发送静态SQL语句的对象。

可以通过调用Connection对象的createStatement(方法来创建一个Statement对象。

例如:```Statement statement = connection.createStatement(;```4.执行SQL语句:通过Statement对象的executeQuery(方法来执行SQL查询语句。

该方法返回一个ResultSet对象,用于保存查询结果。

例如,可以执行一个简单的查询语句并遍历结果集:```String sql = "SELECT * FROM students";ResultSet resultSet = statement.executeQuery(sql);while(resultSet.next()String name = resultSet.getString("name");int age = resultSet.getInt("age");//处理查询结果```除了executeQuery(方法,Statement对象还提供了其他执行SQL语句的方法,如executeUpdate(用于执行更新操作。

JAVA使用JDBC连接数据库的几种方式

JAVA使用JDBC连接数据库的几种方式

JAVA使用JDBC连接数据库的几种方式JDBC(Java Database Connectivity)是Java编程语言用于连接数据库的一种标准API。

它提供了一种访问和操作不同类型数据库的方法。

在JDBC中,有几种不同的方式可以连接数据库。

下面是常见的几种方式以及它们的详细介绍。

1.使用JDBC驱动程序连接数据库2. DriverManager类连接数据库DriverManager是一个Java类,用于管理JDBC驱动程序。

它提供了一种简单的方法来注册和获取特定驱动程序的连接。

使用DriverManager 连接数据库时,首先需要加载驱动程序,并使用驱动程序的URL、用户名和密码创建连接。

然后可以使用这个连接执行SQL查询和更新操作。

3. DataSource接口连接数据库DataSource是一个接口,用于从数据库连接池获取连接。

连接池是一组预先创建的数据库连接,可以重复使用,从而提高应用程序的性能。

通过使用DataSource接口,可以通过配置连接池的方式来连接和管理数据库连接。

这种方式通常适用于大型应用程序或需要高并发连接的场景。

4. 使用JNDI(Java Naming and Directory Interface)连接数据库JNDI是Java提供的一种用于在Java应用程序中查找和访问命名服务的API。

通过使用JNDI,可以在应用程序中配置数据库连接信息,并使用统一的方式访问数据库。

这种方式通常适用于企业级应用程序,其中数据库连接信息可以统一管理。

5.使用第三方库连接数据库除了使用JDBC标准API连接数据库,还可以使用一些第三方库来简化数据库访问。

例如,Hibernate是一个流行的Java持久化框架,它提供了一种简单的方式来与数据库进行交互。

使用Hibernate,可以通过简单的配置来连接和管理数据库。

总结:上述是几种使用JDBC连接数据库的方式。

每种方式都有自己的优势和适用场景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本次预计讲解的知识点:
1、JDBC分类,并使用JDBC连接Mysqle操作
2、JDBC主要接口的使用没,并可以利用这些接口完成数据的操作
3、事务处理
4、批处理的使用
JDBC简介(理解)
JDBC(Java DataBase Connective)Java的数据库连接,JDBC本身提供的是一套与平台无关的数据库的操作标准。

所以在整个JDBC中充斥着大量的操作接口。

而且JDBC本身不是技术,而是一种服务。

由于JDBC 本身属于一个标准,所以一个数据库如果希望使用Java 进行程序开发的话,那么各个数据库的生产商必须实现这些标准——提供专门的数据库的操作包。

根据JDBC操作方式的不同,一共有以下三种常见形式:
·JDBC-ODBC桥连接:利用微软的ODBC技术进行操作
|- 操作过程:程序->JDBC--->ODBC--->数据库
|- 此方式属于Java默认支持的方式,但是由于其中间加入了ODBC端,所以性能很差
·JDBC连接:使用各个数据库生产商提供的数据库驱动程序
|- 操作过程:程序--->JDBC---> 数据库
|- 由于中间缺少了ODBC环节,所以性能将有着明显的提升
·JDBC网络连接:通过网络协议进行数据库的连接操作
一定要记住的是,虽然JDBC-ODBC方式不被使用,但是此种操作中由于是SUN默认支持的,所以JDBC的版本是最高的,但是如果使用的是纯粹的各个数据库生产商提供的驱动程序,那么肯定不会与最新的技术同步。

如果现在使用的是Eclipse的话,则需要在Build Path中配置此驱动程序的开发包。

此时配置完成驱动程序之后,就可以通过以下的接口和类进行JDBC操作了:
·类:DriverManager
·接口:Connection、PreparedStatement、Statement、ResultSet
1.1、JDBC操作步骤
JDBC本身是一个标准,所以其操作步骤是固定的,以后只需要修改很少一部分代码就可以达到不同数据库间的连接转换功能。

JDBC操作步骤:
数据库安装并配置完成之后,就可以按照以下的步骤进行数据库的操作了:
1.加载数据库驱动程序:各个数据库都会提供JDBC的驱动程序开发包,直接把JDBC操作所需
要的开发包(一般为*.jar或*.zip)直接配置到classpath路径即可。

2.连接数据库:肯定要使用连接地址。

根据各个数据库的不同,连接的地址也不同,此连接地址
将由数据库厂商提供,一般在使用JDBC连接数据库时都要求用户输入数据库连接的用户名
和密码,本章使用mysql数据库,所以用户名和密码为“root“,用户在取得连接之后才可以对数据库进行查询或更新操作。

3.使用语句进行数据库操作:数据库操作分为更新和查询两种操作,除了可以使用标准的SQL
语句之外,对于各个数据库也可以使用其自己提供的各种命令。

4.关闭数据库连接:数据库操作完毕之后需要关闭连接以释放资源,因为数据库的连接是非常
有限的。

1.2、配置数据库的驱动程序
数据库驱动程序是由各个数据库生产商提供,只要在JAVA中要想连接数据库,则肯定各个DB要有所支持。

mysql JDBC Driver常用的有两个: 一个是gjt(Giant Java Tree)组织提供的mysql驱动,其JDBC Driver名称(JAVA类名)为:org.gjt.mm.mysql.Driver详情请参见网站:;另一个是mysql官方提供的JDBC Driver,其JAVA类名为:com.mysql.jdbc.Driver ,
/downloads/,
进入其中的MySQL Connector/J区域下载。

此时直接修改CLASSPATH即可。

此时数据库驱动程序就安装完成了。

1.3、加载驱动程序
通过Class.forName()语句可以加载一个驱动程序。

Class实例化需要一个完整的包.类名称,此:“包.类”路径就应该是驱动程序的名称。

org.gjt.mm.mysql.Driver
com.mysql.jdbc.Driver,
(附:把“mysql-connector-java-5.1.20-bin.jar”通过WINRAR打开,找到
org/gjt/mm/mysql/Driver.class)
语法:public static Class<?> forName(String className)
throws ClassNotFoundException
没有发现类的错误,肯定是classpath配置有问题。

1.4、连接及关闭数据库
语法:public static Connection getConnection(String url,
String user,
String password)
此时,数据库已经正常连接,之后可以进行数据库的一系列的SQL语句操作了。

1.5 Statement接口(重点)
如果要进行数据库的操作,在JDBC中依然使用的是SQL语句完成,而用于执行这些SQL语句的接口就是Statement 接口了
但是如果使用Statement 接口操作的话也分为两种形式:
查询、更新,
为了方便起见,在mysql中建立以下的一张表完成数据库的更新。

如果要想增加数据则编写增加的SQL语句:
INSERT INTO 表名称(列名称1,列名称2,…) VALUES (值1,值2,…) ;
SQL是固定的,全部换成变量,则可以按照如下代码编写:
1.5.2数据库更新:
修改数据的SQL语法:
UPDATE 表名称SET 字段=值,字段=值,.. [WHERE 更新条件] 如果不写更新条件,表示的是全部数据都要更新。

删除数据的SQL语法如下:DELETE FROM 表名称[WHERE 删除条件]
DelDemo.java
在操作时使用Statement中的executeQuery()方法进行数据库的查询操作。

此方法返回值就是ResultSet接口。

语法:ResultSet executeQuery(String sql)throws SQLException
查询
1.7 PreparedStatement
使用Statement操作时,肯定要执行的是一条完整的SQL语句,执行之前是使用Connection 直接创建的。

就好比占座,证明此座已经有人了,但是在等待着人的到来。

Connection接口:
PreparedStatement prepareStatement(String sql) throws SQLException
通过以上方法可以得到一个PreparedStatement的一个接口实例。

之后使用一系列的setXxx()方法设置内容,根据位置设置。

如果执行更新语句的话,则会返回更新数据的记录。

注意点:关于日期输入问题:正常情况下都使用java.util.Date表示日期,但是在PreparedStatement 中如果要使用日期则必须使用java.sql.Date类型。

例:使用PreparedStatement执行数据库的插入操作
PreparedStatement的基本工作原理,插入时,先占
1.8 批处理
所谓批处理就是指所有的操作可以一次性的提交到数据库之中。

如果要使用批处理则需要Statement接口中的addBatch()方法
设4条记录是有关联的4条呢?
在使用批处理的操作发现,如果中间有一条语句出错,则默认情况下是将出错之前的代码进行提交,这是由于JDBC采用了自动的事务提交的方式才造成的后果。

如果此时进行事务处理的话,则需要按照如下方式进行:
1.取消自动提交:public void conn.setAutoCommit(false);
2.执行更新操作
3.如果没有错误,则提交事务 public void commit() throws SQLException
4.如果有错误,则进行回滚:public void rollback()throws SQLException。

相关文档
最新文档