java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)
2014-11-25 19:20
806 查看
插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更新这一些列的博客,记录学习的点滴。第一篇主要是java读取mysql数据库文件。安装及配置文件稍后会上传到我的百度网盘供大家下载。其他的介绍在网上都可以找到相关的博客,下面直接给出源代码。
mysql建立一个名为“vge_whu”的数据库,并在该数据库中新建一个user表。具体信息如下图所示。
MySQLHelper.java,mySQL操作类,后面陆续完善该类,源码如下:
-----------------------------华丽的分割线(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));
}
}
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));
}
}
相关文章推荐
- java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)
- Java连接HBASE数据库,创建一个表,删除一张表,修改表,输出插入,修改,数据删除,数据获取,显示表信息,过滤查询,分页查询,地理hash
- Zookeeper客户端基本操作java实现——创建连接、创建节点、添加修改节点内容、获取子节点、获取节点数据、删除节点
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- JAVA对Mysql进行连接、插入、修改、删除操作
- 数据库的插入、修改、删除操作(java实现)
- 基础--JAVA对Mysql进行连接、插入、修改、删除操作
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作。book表结构如下:(id,name,price,author,descrip
- (转)JSP+mysql数据库操作 连接,增加,删除,修改,查询例子
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- 存储过程:管理员表TAdmin的查询,插入,修改,删除操作
- shell脚本操作mysql数据库—创建数据库,在该数据库中创建表(插入,查询,更新,删除操作也可以做)
- 存储过程:管理员表TAdmin的查询,插入,修改,删除操作
- mybatis 操作(批量插入,批量修改,批量删除, 分页查询)
- 表操作汇总(复制,删除,修改,插入,查询及数据库的复制)
- 通过java调用存储过程(查询,更新,修改,删除),包的一些操作
- 用C语言操作MySQL数据库,进行连接、插入、修改、删除等操作
- Java操作Hbase插入查询删除-转
- ADO.NET之数据插入、修改、删除、查询操作
- 利用dbcp数据库连接池连接数据库,并利用dbtuils框架对数据库test中book表进行插入、删除、修改、查询的操作代码