怎样用javajava jdbc连接mysqll

使用JDBC连接MySQL数据库查询实例 -
- ITeye博客
使用JDBC连接数据看查询主要步骤如下:
1. 加载JDBC驱动程序;
2. 负责管理JDBC驱动程序的类 DriverManager 会识别加载的驱动程序,用 DriverManager 类的方法 getConnection()来创建一个数据库连接类的实例对象;
3. 获取Connection对象的实例,用Connection对象的方法创建一个 Statement 对象实例,执行标准的SQL语句,对数据库、表进行相关操作。
4. 返回的结果用 ResultSet 类来处理。
import java.sql.DriverM
import java.sql.ResultS
import java.sql.SQLE
import com.mysql.jdbc.C
import com.mysql.jdbc.S
/*使用JDBC连接数据库MySQL的过程
* DataBase:hj
* table:student
* */
&&&&&&&&&&& public class Databasetest {
& public static Connection getConnection() throws SQLException,
&&&&&&&&&&&& java.lang.ClassNotFoundException
//(1)加载MySQL的JDBC的驱动
&& Class.forName("com.mysql.jdbc.Driver");
//取得连接的url,能访问MySQL数据库的用户名,密码,数据库名
&&&&&&&&&&&&&&& String url = "jdbc:mysql://127.0.0.1:3306/"+"hj?useUnicode=true&characterEncoding=utf8";&&&&&&&
&&&&&&&& String username = "root";
&&&&&&&& String password ="";
&&&&& //(2)创建与MySQL数据库的连接类的实例
&&&&&&&& Connection con = (Connection) DriverManager.getConnection(url, username, password);&&&&&&&
&&&&&&&&&&&&&&
&&& public static void main(String args[]) {
&&&&&&& try
&&&&&&&&&&& //(3)获取连接实例con,用con创建Statement对象实例 sql_statement
&&&&&&&&&&&& Connection con = getConnection();&&&&&&&&&&&
&&&&&&&&&&&& Statement sql_statement = (Statement) con.createStatement();
&&&&&&&&&&&& //插入语句&&&& &&&&&&&
&&&&&&&&&&& String sql = "insert into student(id,name,score)values(null,'梵蒂冈的发',99)"; &
&&&&&&&&&&&& count=sql_statement.executeUpdate(sql);
&&&&&&&&&&
//(4)执行查询,用ResultSet类的对象,返回查询结果 &&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&& String query = "select * from student";
&&&&&&&&&&&& ResultSet result = sql_statement.executeQuery(query);
&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&& System.out.println("student表数据如下:");
&&&&&&&&&&&& System.out.println("------------------------");
&&&&&&&&&&&& System.out.println("学号" + " " + "姓名" + " " + "成绩");
&&&&&&&&&&&& System.out.println("------------------------");
&&&&&&&&&&&
&&&&&&&&&&
//对获得的查询结果进行处理,对Result类的对象进行操作
&&&&&&&&&&& while (result.next())
&&&&&&&&&&& {
&&&&&&&&&&&&&&& int number=result.getInt("id");
&&&&&&&&&&&&&&&& String name=result.getString("name");
&&&&&&&&&&&&&&&& String score=result.getString("score");
&&&&&&&&&&&&& & //取得数据库中的数据 &&&&&&&&&&&&&&&& System.out.println("学号: " + number + " 姓名: " + name + " 成绩: " + score);&&&&&&&&&&&&&&&
&&&&&&&&&&&& }
&&&&&&&&&&&
&&&&&&&&&&
//关闭连接和声明 &&&&&&&&&&&& sql_statement.close();
&&&&&&&&&&&& con.close();
&&&&&&&&&&&
&&&&&&&& } catch(java.lang.ClassNotFoundException e) {
&&&&&&&&&&
//加载JDBC错误,所要用的驱动没有找到 &&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&& System.err.print("ClassNotFoundException");
&&&&&&&&&&
//其他错误&&&&&&&&&&&&
&&&&&&&&&&&& System.err.println(e.getMessage());
&&&&&&&& } catch (SQLException ex) {
&&&&&&&&&&& //显示数据库连接错误或查询错误 &&&&&&&&&&&&
&&&&&&&&&&&&&&&&& System.err.println("SQLException: " + ex.getMessage());
&&&&&&&& }
悟空派来的猴子
浏览: 44019 次
来自: 杭州
haiyangyiba 写道选中项目右键——找到Project ...
haiyangyiba 写道选中项目右键——找到Project ...
选中项目右键——找到Project Facets——勾选Dyn ...Java连接MySQL数据库及简单操作代码
1.连接MySQL
Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本)。然后将其解压缩到任一目录。我是解压到D盘,然后将其目录下的MySQL-connector-java-5.0.5-bin.jar加到classpath里,具体如下:
&我的电脑&-& &属性& -& &高级& -& &环境变量&,在变量那里编辑classpath,将D:\MySQL-connector-java-5.0.5\MySQL-connector-java-5.0.5-bin.jar加到最后,在加这个字符串前要加&;&,以与前一个classpath区分开。然后确定。
import java.sql.*;
public class DataBasePractice {
public static void main(String[] args) {
//声明Connection对象
//驱动程序名
String driver = &com..jdbc.Driver&;
//URL指向要访问的数据库名mydata
String url = &jdbc:mysql://localhost:3306/mydata&;
//MySQL配置时的用户名
String user = &root&;
//MySQL配置时的密码
String password = &root&;
//遍历查询结果集
//加载驱动程序
Class.forName(driver);
//1.getConnection()方法,连接MySQL数据库!!
con = DriverManager.getConnection(url,user,password);
if(!con.isClosed())
System.out.println(&Succeeded connecting to the Database!&);
//2.创建statement类对象,用来执行SQL语句!!
Statement statement = con.createStatement();
//要执行的SQL语句
String sql = &select * from student&;
//3.ResultSet类,用来存放获取的结果集!!
ResultSet rs = statement.executeQuery(sql);
System.out.println(&-----------------&);
System.out.println(&执行结果如下所示:&);
System.out.println(&-----------------&);
System.out.println(& 学号& + &\t& + & 姓名&);
System.out.println(&-----------------&);
String name =
String id =
while(rs.next()){
//获取stuname这列数据
name = rs.getString(&stuname&);
//获取stuid这列数据
id = rs.getString(&stuid&);
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(name.getBytes(&ISO-8859-1&),&gb2312&);
//输出结果
System.out.println(id + &\t& + name);
rs.close();
con.close();
} catch(ClassNotFoundException e) {
//数据库驱动类异常处理
System.out.println(&Sorry,can`t find the Driver!&);
e.printStackTrace();
} catch(SQLException e) {
//数据库连接失败异常处理
e.printStackTrace();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
System.out.println(&数据库数据成功获取!!&);
2.添加、修改、删除操作
在上面while代码段后面添加以下代码段:
String name =
String id =
while(rs.next()){
//获取stuname这列数据
name = rs.getString(&stuname&);
//获取stuid这列数据
id = rs.getString(&stuid&);
//首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
//然后使用GB2312字符集解码指定的字节数组。
name = new String(name.getBytes(&ISO-8859-1&),&gb2312&);
//输出结果
System.out.println(id + &\t& + name);
//预处理添加数据,其中有两个参数--&?&
psql = con.prepareStatement(&insert into student values(?,?)&);
psql.setInt(1, 8);
//设置参数1,创建id为5的数据
psql.setString(2, &xiaogang&);
//设置参数2,name 为小明
psql.executeUpdate();
//执行更新
//预处理更新(修改)数据
psql = con.prepareStatement(&update student set stuname = ? where stuid = ?&);
psql.setString(1,&xiaowang&);
//设置参数1,将name改为王五
psql.setInt(2,10);
//设置参数2,将id为2的数据做修改
psql.executeUpdate();
//预处理删除数据
psql = con.prepareStatement(&delete from student where stuid = ?&);
psql.setInt(1, 5);
psql.executeUpdate();
//查询修改数据后student表中的数据
psql = con.prepareStatement(&select*from student&);
res = psql.executeQuery();
//执行预处理sql语句
System.out.println(&执行增加、修改、删除后的数据&);
while(res.next()){
name = res.getString(&stuname&);
id = res.getString(&stuid&);
name = new String(name.getBytes(&ISO-8859-1&),&gb2312&);
System.out.println(id + &\t& + name);
res.close();
psql.close();
该代码段使用到了预处理语句:
con.prepareStatement(String sql);
这样生成数据库底层的内部命令,并将该命令封装在preparedStatement对象中,可以减轻数据库负担,提高访问数据库速度。 运行结果:java连接Mysql方法和示例_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
java连接Mysql方法和示例
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩11页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢您所在的位置: &
一个通过Java连接MySQL数据库的代码
一个通过Java连接MySQL数据库的代码
Java连接MySQL终于做好了,虽然功能是简单了点,不过我会推出复杂一点的程序,可能以后推出的只用鼠标就可以完成绝大部分的数据库操作。
这次的Java连接MySQL数据库操作,还是用的和那个非常小的数据库管理系统(JSP)一样的MySQL web_data 的数据库。
图示如下:
498)this.width=498;' onmousewheel = 'javascript:return big(this)' border=0 alt=连接图示 src="/files/uploadimg/5060.jpg" width=400 height=300>&
代码如下:------------------------------------------------------------ &&import&java.sql.*;& &import&javax.swing.*;& &import&java.awt.*;& &import&java.awt.event.*;& &import&java.util.*;& &&public&class&inensshow&extends&JFrame&{& &&&private&Connection&& &private&Statement&& &private&ResultSet&resultS& &private&ResultSetMetaData&rsMetaD& &&//GUI变量定义 &private&JTable&& &private&JTextArea&inputQ& &private&JButton&submitQ& &&public&inensshow()& &{& &//Form的标题& &super(&"输入SQL语句,按查询按钮查看结果。"&);& &&String&url&=&"jdbc:mysql://localhost:3306/web";& &String&username&=&"inens";& &String&password&=&"inens";& &//加载驱动程序以连接数据库 &try&{& &Class.forName(&"org.gjt.mm.mysql.Driver"&);& &connection&=&DriverManager.getConnection(& &url,&username,&password&);& &}& &//捕获加载驱动程序异常 &catch&(&ClassNotFoundException&cnfex&)&{& &System.err.println(& &"装载&JDBC/ODBC&驱动程序失败。"&);& &cnfex.printStackTrace();& &System.exit(&1&);&//&terminate&program& &}& &//捕获连接数据库异常 &catch&(&SQLException&sqlex&)&{& &System.err.println(&"无法连接数据库"&);& &sqlex.printStackTrace();& &System.exit(&1&);&//&terminate&program& &}& &//如果数据库连接成功,则建立GUI &//SQL语句 &String&test="SELECT&*&FROM&data";& &inputQuery&=&new&JTextArea(&test,&4,&30&);& &submitQuery&=&new&JButton(&"查询"&);& &//Button事件 &submitQuery.addActionListener(& &new&ActionListener()&{& &public&void&actionPerformed(&ActionEvent&e&)& &{& &getTable();& &}& &}& &);& &&JPanel&topPanel&=&new&JPanel();& &topPanel.setLayout(&new&BorderLayout()&);& &//将"输入查询"编辑框布置到&"CENTER" &topPanel.add(&new&JScrollPane(&inputQuery),&BorderLayout.CENTER&);& &//将"提交查询"按钮布置到&"SOUTH" &topPanel.add(&submitQuery,&BorderLayout.SOUTH&);& &table&=&new&JTable();& &Container&c&=&getContentPane();& &c.setLayout(&new&BorderLayout()&);& &//将"topPanel"编辑框布置到&"NORTH" &c.add(&topPanel,&BorderLayout.NORTH&);& &//将"table"编辑框布置到&"CENTER" &c.add(&table,&BorderLayout.CENTER&);& &getTable();& &setSize(&500,&300&);& &//显示Form &show();& &}& &&private&void&getTable()& &{& &try&{& &//执行SQL语句 &String&query&=&inputQuery.getText();& &statement&=&connection.createStatement();& &resultSet&=&statement.executeQuery(&query&);& &//在表格中显示查询结果 &displayResultSet(&resultSet&);& &}& &catch&(&SQLException&sqlex&)&{& &sqlex.printStackTrace();& &}& &}& &&private&void&displayResultSet(&ResultSet&rs&)& &throws&SQLException& &{& &//定位到达第一条记录 &boolean&moreRecords&=&rs.next();& &//如果没有记录,则提示一条消息 &if&(&!&moreRecords&)&{& &JOptionPane.showMessageDialog(&this,& &"结果集中无记录"&);& &setTitle(&"无记录显示"&);& && &}& &Vector&columnHeads&=&new&Vector();& &Vector&rows&=&new&Vector();& &try&{& &//获取字段的名称 &ResultSetMetaData&rsrsmd&=&rs.getMetaData();& &for&(&int&i&=&1;&i&=&rsmd.getColumnCount();&++i&)& &columnHeads.addElement(&rsmd.getColumnName(&i&)&);& &//获取记录集 &do&{& &rows.addElement(&getNextRow(&rs,&rsmd&)&);& &}&while&(&rs.next()&);& &//在表格中显示查询结果 &table&=&new&JTable(&rows,&columnHeads&);& &JScrollPane&scroller&=&new&JScrollPane(&table&);& &Container&c&=&getContentPane();& &c.remove(1);& &c.add(&scroller,&BorderLayout.CENTER&);& &//刷新Table &c.validate();& &}& &catch&(&SQLException&sqlex&)&{& &sqlex.printStackTrace();& &}& &}& &&&private&Vector&getNextRow(&ResultSet&rs,& &ResultSetMetaData&rsmd&)& &throws&SQLException& &{& &Vector&currentRow&=&new&Vector();& &for&(&int&i&=&1;&i&=&rsmd.getColumnCount();&++i&)& &currentRow.addElement(&rs.getString(&i&)&);& &//返回一条记录& &return&currentR& &}& &&public&void&shutDown()& &{& &try&{& &//断开数据库连接 &connection.close();& &}& &catch&(&SQLException&sqlex&)&{& &System.err.println(&"Unable&to&disconnect"&);& &sqlex.printStackTrace();& &}& &}& &&public&static&void&main(&String&args[]&)& &{& &final&inensshow&app&=& &new&inensshow();& &app.addWindowListener(& &new&WindowAdapter()&{& &public&void&windowClosing(&WindowEvent&e&)& &{& &app.shutDown();& &System.exit(&0&);& &}& &}& &);& &}& &}& &&
------------------------------------------------------------
这次在WIN98中就不好使了。因为MySQL的驱动程序没有也没能加入到CLASSPATH 当中,但是JSP却可以使用(JSP的98驱动加载详见Jsp与Mysql连接查错文章),所以这次我是在XPServer中测试的。Java连接MySQL成功。
【编辑推荐】
【责任编辑: TEL:(010)】
关于的更多文章
AngularJS是很多Web开发人员在打造单页面应用程序时的首选创建方
随着云计算、物联网、大数据、移动互联网的大发展,你应该知道这些。
讲师: 38人学习过讲师: 1473人学习过讲师: 19人学习过
很显然,Oracle已正在开发Java 9。Java 9主要的增强内
一个好的工具无论是对于开发者还是整个项目而言,都是
在此之前的几年时间里,已经有很多开发者陆续使用了HT
本书是关于EJB 3.0的专业技术教程,专注于EJB的概念、方法、开发过程的介绍。同时,本书还研究许多高端的EJB知识,使得开发者能
51CTO旗下网站35633人阅读
Java(13)
& 之前有两篇文章讲了安装mysql(ubuntu和windows)和可视化工具workbench的使用,这篇文章就讲一下java程序是如何连接MySQL数据库的。
&Java是通过JDBC连接Mysql数据库的。JDBC(Java Data Base Connectivity,java连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使开发人员能够编写数据库。
如果要使用数据库就要添加数据库的驱动,不同的数据库有不用的驱动,这里就不一一说明,添加jar程序驱动包的方法就不在这里解释,
另一个文章里面有介绍
下面是一个实例去介绍mysql数据库的连接,其它数据库的方法也是差不多的。
import java.sql.*;
public class MysqlTest {
public static void main(String[] args){
// 驱动程序名
String driver = &com.mysql.jdbc.Driver&;
// URL指向要访问的数据库名world
String url = &jdbc:mysql://127.0.0.1:3306/world&;
// MySQL配置时的用户名
String user = &root&;
// MySQL配置时的密码
String password = &123456&;
// 加载驱动程序
Class.forName(driver);
// 连续数据库
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println(&Succeeded connecting to the Database!&);
// statement用来执行SQL语句
Statement statement = conn.createStatement();
// 要执行的SQL语句
String sql = &select * from city&;
ResultSet rs = statement.executeQuery(sql);
while(rs.next())
// 选择Name这列数据
name = rs.getString(&Name&);
// 输出结果
System.out.println(rs.getString(&CountryCode&) + &\t& + name);
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();
Note:如果你没有添加jar程序驱动包的话编译的时候发现以下问题:
Sorry,can`t find the Driver!
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
&&& atjava.net.URLClassLoader$1.run(Unknown Source)
&&& atjava.net.URLClassLoader$1.run(Unknown Source)
&&& atjava.security.AccessController.doPrivileged(Native Method)
&&& atjava.net.URLClassLoader.findClass(Unknown Source)
&&& atjava.lang.ClassLoader.loadClass(Unknown Source)
&&& atsun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
&&& atjava.lang.ClassLoader.loadClass(Unknown Source)
&&& atjava.lang.Class.forName0(Native Method)
& & &atjava.lang.Class.forName(Unknown Source)
这时,你只需要按照里的方法就可以解决。
但是编译运行虽然成功,但是有以下的warning信息:
Thu Dec 24 00:08:37 CST 2015WARN: Establishing SSL connection without server's identity verification is notrecommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSLconnection must be established by
default if explicit option isn't set. Forcompliance with existing applications not using SSL the verifyServerCertificateproperty is set to 'false'. You need either to explicitly disable SSL bysetting useSSL=false, or set useSSL=true and provide truststore
for servercertificate verification.
Succeeded connecting to theDatabase!
AFG Qandahar
AFG Mazar-e-Sharif
NLD Amsterdam
NLD Rotterdam
这时只需要把url字符串改为以下:
改之前:String url =&jdbc:mysql://127.0.0.1:3306/world&;
改之后:String url =
&jdbc:mysql://127.0.0.1:3306/world?useUnicode=true&characterEncoding=utf-8&useSSL=false&;
就发现warning没了,程序运行成功。
Succeeded connecting to theDatabase!
AFG Qandahar
AFG Mazar-e-Sharif
NLD Amsterdam
NLD Rotterdam
NLD&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Utrecht
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:117509次
积分:1835
积分:1835
排名:千里之外
原创:87篇
转载:44篇
(2)(1)(4)(2)(3)(15)(5)(2)(14)(14)(10)(2)(1)(8)(3)(3)(5)(5)(19)(14)}

我要回帖

更多关于 java连接mysql数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信