java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)
插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更 新这一些列的博客,记录学习的点滴。第一篇主要是java读取mysql数据库文件。安装及配置文件稍后会上传到我的百度网盘供大家下载。其他的介绍在网 上都可以找到相关的博客,下面直接给出源代码。
mysql建立一个名为“vge_whu”的数据库,并在该数据库中新建一个user表。具体信息如下图所示。
MySQLHelper.java,mySQL操作类,后面陆续完善该类,源码如下:
- package edu.whu.vge;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.SQLException;
- /**
- *
- * 项目名称:JavaSQL1
- * 类名称:DBHelper
- * 类描述:MySQL数据库操作类
- * 创建人:Administrator
- * 创建时间:2014-11-25 下午5:11:11
- * 修改备注:
- * @version
- */
- public class MySQLHelper
- {
- public static final String url = "jdbc:mysql://127.0.0.1/vge_whu"; //数据库连接
- public static final String name = "com.mysql.jdbc.Driver"; //程序驱动
- public static final String user = "root"; //用户名
- public static final String password = "abc@123"; //密码
- public Connection conn = null;
- public PreparedStatement pst = null;
- /**
- *
- * 创建一个新的实例 DBHelper.
- *
- * @param sql: SQL查询语句
- */
- public MySQLHelper(String sql)
- {
- try
- {
- Class.forName(name);// 指定连接类型
- conn = DriverManager.getConnection(url, user, password);// 获取连接
- pst = conn.prepareStatement(sql);// 准备执行语句
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- /**
- *
- * 方法名称: close ;
- * 方法描述: 关闭数据库连接 ;
- * 参数 :
- * 返回类型: void ;
- * 创建人:James;
- * 创建时间:2014-11-25 下午7:00:12;
- * @throws
- */
- public void close()
- {
- try
- {
- this.conn.close();
- this.pst.close();
- } catch (SQLException e)
- {
- e.printStackTrace();
- }
- }
- }
再写一个java文件来调用MySQLHelper类执行相关操作,暂时只有查询,后面补充新增、删除、更新等操作。
- package edu.whu.vge;
- import java.sql.*;
- /**
- *
- * 项目名称:JavaSQL1
- * 类名称:JDBCTest
- * 类描述: Java连接MySQL
- * 测试 创建人:Administrator
- * 创建时间:2014-11-25 下午5:11:43
- * 修改备注:
- *
- * @version 1.0
- */
- public class JDBCTest
- {
- static String sql = null;
- static MySQLHelper db1 = null;
- static ResultSet ret = null;
- public static void main(String[] args)
- {
- sql = "select * from user";// SQL语句
- db1 = new MySQLHelper(sql);// 创建DBHelper对象
- System.out.println("编号--姓名--性别--年龄-------电话-------QQ---------邮箱");
- try
- {
- ret = db1.pst.executeQuery();// 执行语句,得到结果集
- while (ret.next())
- {
- String uId = ret.getString(1);
- String uName = ret.getString(2);
- String uSex = ret.getString(3);
- String uAge = ret.getString(4);
- String uTel = ret.getString(5);
- String uQQ = ret.getString(6);
- String uMail = ret.getString(7);
- System.out.println(uId + "\t" + uName + "\t" + uSex + "\t"
- + uAge + "\t" + uTel + "\t" + uQQ + "\t" + uMail);
- }// 显示数据
- ret.close();
- db1.close();// 关闭连接
- } catch (SQLException e)
- {
- e.printStackTrace();
- }
- }
- }
执行结果如下图所示。
-----------------------------华丽的分割线(2014.11.26)--------------------------------------
MySQLHelper操作类
- package edu.whu.vge;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- /**
- *
- * @项目名称:JavaSQL1
- * @类名称:MySQLHelper
- * @类描述:mysql操作类
- * @创建人:奔跑的鸡丝
- * @创建时间:2014-11-25 下午8:58:34
- * @修改备注:
- * @版本:
- */
- public class MySQLHelper
- {
- public static final String url = "jdbc:mysql://127.0.0.1/vge_whu"; // 数据库连接
- public static final String name = "com.mysql.jdbc.Driver"; // 程序驱动
- public static final String user = "root"; // 用户名
- public static final String password = "abc@123"; // 密码
- public Connection connection = null; // 数据库连接
- public PreparedStatement preparedStatement = null; // 待查询语句描述对象
- /**
- *
- * 创建一个新的实例 DBHelper.
- *
- * @param sql
- * : SQL查询语句
- */
- public MySQLHelper()
- {
- try
- {
- Class.forName(name);// 指定连接类型
- connection = DriverManager.getConnection(url, user, password);// 获取连接
- } catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- /**
- *
- * @方法名称: close ;
- * @方法描述: 关闭数据库 ;
- * @参数 :
- * @返回类型: void ;
- * @创建人:奔跑的鸡丝 ;
- * @创建时间:2014-11-25 下午8:58:14;
- * @throws
- */
- public void close()
- {
- try
- {
- this.connection.close();
- this.preparedStatement.close();
- } catch (SQLException e)
- {
- System.out.println("关闭数据库出现问题!!");
- e.printStackTrace();
- }
- }
- /**
- *
- * @方法名称: query ;
- * @方法描述: 查询操作 ;
- * @参数 :@param sql:查询操作语句 ;
- * @返回类型: ResultSet :查询结果数据集;
- * @创建人:奔跑的鸡丝 ;
- * @创建时间:2014-11-25 下午8:49:25;
- * @throws
- */
- public ResultSet query(String sql)
- {
- ResultSet resultSet = null;
- try
- {
- preparedStatement = connection.prepareStatement(sql); // 准备执行语句
- resultSet = preparedStatement.executeQuery();
- } catch (Exception e)
- {
- System.out.println("查询错误,请检查!!");
- e.printStackTrace();
- }
- return resultSet;
- }
- /**
- *
- * @方法名称: executeNonquery ;
- * @方法描述: 插入、修改、删除等操作 ;
- * @参数 :@param sql:插入语句
- * @返回类型: boolean ;
- * @创建人:奔跑的鸡丝;
- * @创建时间:2014-11-25 下午8:45:49;
- * @throws
- */
- public boolean executeNonquery(String sql)
- {
- boolean flag = false;
- try
- {
- preparedStatement = connection.prepareStatement(sql);
- preparedStatement.executeUpdate();
- flag = true;
- } catch (Exception e)
- {
- System.out.println("插入数据库时出现错误!!");
- e.printStackTrace();
- }
- return flag;
- }
- /**
- *
- * @方法名称: getCount ;
- * @方法描述: 获取表记录数 ;
- * @参数 :@param sql
- * @参数 :@return
- * @返回类型: int 记录数;
- * @创建人:奔跑的鸡丝 ;
- * @创建时间:2014-11-26 下午2:40:37;
- * @throws
- */
- public int getCount(String sql)
- {
- int count=0;
- try
- {
- preparedStatement=connection.prepareStatement(sql);
- ResultSet resultSet=preparedStatement.executeQuery();
- resultSet.last();
- count=resultSet.getRow();
- resultSet.close();
- } catch (Exception e)
- {
- System.out.println("查询总记录数失败!!");
- e.printStackTrace();
- }
- return count;
- }
- }
实例调用:
- package edu.whu.vge;
- import java.sql.*;
- /**
- *
- * 项目名称:JavaSQL1 类名称:JDBCTest 类描述: Java连接MySQL 测试 创建人:Administrator
- * 创建时间:2014-11-25 下午5:11:43 修改备注:
- *
- * @version 1.0
- */
- public class JDBCTest
- {
- static MySQLHelper pMySQLHelper = null;
- public static void main(String[] args)
- {
- insert();
- update();
- delete();
- query();
- getCount();
- }
- /**
- *
- * @方法名称: query ;
- * @方法描述: 查询数据库 ;
- * @参数 :
- * @返回类型: void ;
- * @创建人:奔跑的鸡丝 ;
- * @创建时间:2014-11-25 下午9:03:00;
- * @throws
- */
- private static void query()
- {
- pMySQLHelper = new MySQLHelper();// 创建MySQLHelper对象
- String sql = "select * from user"; // 查询SQL语句
- ResultSet pResultSet = null;
- System.out.println("编号--姓名--性别--年龄-------电话-------QQ---------邮箱");
- try
- {
- pResultSet = pMySQLHelper.query(sql);// 执行语句,得到结果集
- // 显示数据
- while (pResultSet.next())
- {
- String uId = pResultSet.getString(1);
- String uName = pResultSet.getString(2);
- String uSex = pResultSet.getString(3);
- String uAge = pResultSet.getString(4);
- String uTel = pResultSet.getString(5);
- String uQQ = pResultSet.getString(6);
- String uMail = pResultSet.getString(7);
- System.out.println(uId + "\t" + uName + "\t" + uSex + "\t"
- + uAge + "\t" + uTel + "\t" + uQQ + "\t" + uMail);
- }
- pMySQLHelper.close();
- pResultSet.close();
- } catch (SQLException e)
- {
- e.printStackTrace();
- }
- }
- /**
- *
- * @方法名称: insert ;
- * @方法描述: 插入 ;
- * @参数 :
- * @返回类型: void ;
- * @创建人:奔跑的鸡丝 ;
- * @创建时间:2014-11-25 下午9:40:41;
- * @throws
- */
- private static void insert()
- {
- try
- {
- pMySQLHelper = new MySQLHelper();
- String insert = "Insert Into user Values ('2010301610308','老大','男',58,'123456789','123456789','1234@163.com')";
- if (pMySQLHelper.executeNonquery(insert))
- {
- System.out.println("插入成功!!");
- }
- pMySQLHelper.close();
- } catch (Exception e)
- {
- System.out.println("插入出錯!!");
- e.printStackTrace();
- }
- }
- /**
- *
- * @方法名称: update ;
- * @方法描述: 修改 ;
- * @参数 :
- * @返回类型: void ;
- * @创建人:奔跑的鸡丝 ;
- * @创建时间:2014-11-26 下午2:19:14;
- * @throws
- */
- private static void update()
- {
- pMySQLHelper = new MySQLHelper();
- String update = "Update user Set Name='奔跑的鸡丝' Where StudentID='2010301610305'";
- if (pMySQLHelper.executeNonquery(update))
- {
- System.out.println("修改成功!!");
- }
- pMySQLHelper.close();
- }
- /**
- *
- * @方法名称: delete ;
- * @方法描述: 删除 ;
- * @参数 :
- * @返回类型: void ;
- * @创建人:奔跑的鸡丝 ;
- * @创建时间:2014-11-26 下午2:33:40;
- * @throws
- */
- private static void delete()
- {
- pMySQLHelper = new MySQLHelper();
- String delete = "Delete From user Where Name='朱庆'";
- if (pMySQLHelper.executeNonquery(delete))
- {
- System.out.println("删除成功!!");
- }
- pMySQLHelper.close();
- }
- private static void getCount()
- {
- pMySQLHelper=new MySQLHelper();
- String getCountString="Select * From user";
- System.out.println("记录数为:"+pMySQLHelper.getCount(getCountString));
- }
- }
from: http://blog.csdn.net/giser_whu/article/details/41487213
java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)的更多相关文章
- Java对MySQL数据库进行连接、查询和修改(转)
Java对MySQL数据库进行连接.查询和修改 0. 一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection( ...
- Java 操作MySql数据库
Java 项目开发中数据库操作是很重要的一个方面,对于初学者来说,MySql是比较容易熟悉的一种常见数据库,这篇文章记录了如何用Java来操作MySql数据库. 第一章 JDBC的概念 JDBC(Ja ...
- Python操作Mysql数据库——多表组合查询
前面我们介绍了单张表的查询,包括模糊查询.分组.排序.各种筛选条件等等操作,在实际应用中,查询的数据往往不止局限在一张表里,通常需要多张表在一起进行组合查询,今天我们将会对Mysql当中的多张有关联的 ...
- Java对MySQL数据库进行连接、查询和修改【转载】
一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象. (3) 创 ...
- python,java操作mysql数据库,数据引擎设置为myisam时能够插入数据,转为innodb时无法插入数据
今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎 ...
- java向mysql数据库插入数据显示乱码的问题
在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码”???“的问题.针对该问题的主要解决办法就是: 一.确保是否添加了字符集过滤器: 在java web工程中的web.xm ...
- Java连接mysql数据库并进行内容查询
最近用框架做了几个项目,感觉当初底层的东西有点忘了,写一个JDBC的简单的连接代码来熟悉回顾一下,也希望对刚接触的新手能有所帮助.这也是我的第一篇随笔,废话不多说,直接上代码: public Conn ...
- JAVA操作Mysql数据库
String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://127.0.0.1:3306/ph ...
- Java连接MySQL数据库及操作
Java操作MySQL数据库,需要驱动mysql-connector-java 来进行操作,去下载对应的jar包 一.导入需要的jar包 我用的是maven对包进行管理,在maven中添加如下内容 ...
随机推荐
- 20161003 NOIP 模拟赛 T2 解题报告
Weed duyege的电脑上面已经长草了,经过辨认上面有金坷垃的痕迹. 为了查出真相,duyege 准备修好电脑之后再进行一次金坷垃的模拟实验. 电脑上面有若干层金坷垃,每次只能在上面撒上一层高度为 ...
- Codeforces Round #207 (Div. 1) A. Knight Tournament(STL)
脑子又卡了...来一发set的,STL真心不熟. #include <stdio.h> #include <string.h> #include <iostream> ...
- 【BZOJ1951】【SDOI2010】古代猪文 Lucas定理、中国剩余定理、exgcd、费马小定理
Description “在那山的那边海的那边有一群小肥猪.他们活泼又聪明,他们调皮又灵敏.他们自由自在生活在那绿色的大草坪,他们善良勇敢相互都关心……” ——选自猪王国民歌 很久很久以前,在山的那边 ...
- 【bzoj2631】tree link-cut-tree
2016-06-01 08:50:36 题目:http://www.lydsy.com/JudgeOnline/problem.php?id=2631 注意加和乘的标记下传问题. 还有就是split后 ...
- Rational Rose 2007 破解版安装过程
Rational Rose 2007 破解版安装过程 首先通过网站将软件下载,然后依照以下步骤进行: 选择第二项,下一步 一直点击next,出现如下,可以修改安装的目的文件夹 设置完路径之后出现如下, ...
- 1069. The Black Hole of Numbers (20)
For any 4-digit integer except the ones with all the digits being the same, if we sort the digits in ...
- SQL sp_executesql【转】
execute相信大家都用的用熟了,简写为exec,除了用来执行存储过程,一般都用来执行动态Sql sp_executesql,sql2005中引入的新的系统存储过程,也是用来处理动态sql的, 如: ...
- MacPort 的使用
MacPorts 的安装和使用 官网下载最版本的 安装包 自动安装 可能会出现很慢的情况 设置环境变量 vim ~/.bash_profile i 插入修改 :wq 保 ...
- JavaScript入门篇 第三天(认识DOM)
认识DOM 文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法.DOM 将HTML文档呈现为带有元素.属性和文本的树结构(节点树). 先来看看下面代码 ...
- ant学习
如果在构建文件当中depends后面有多个依赖,而且这多个依赖还相互依赖,那么只会执行被依赖的任务,不会重复执行任务 ant学习