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));
		
	}
}



  • 14
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Java编程语言与MySQL数据库进行交互并插入数据。首先,确保你已经安装并配置了MySQL数据库,并且在Java项目中引入了相关的驱动程序。以下是一个简单的示例代码,演示如何使用JavaMySQL数据库插入数据: ```java import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; public class InsertDataToMySQL { public static void main(String[] args) { // 数据库连接信息 String url = "jdbc:mysql://localhost:3306/database_name"; String username = "your_username"; String password = "your_password"; // SQL插入语句 String sql = "INSERT INTO table_name (column1, column2, column3) VALUES (?, ?, ?)"; try (Connection conn = DriverManager.getConnection(url, username, password); PreparedStatement stmt = conn.prepareStatement(sql)) { // 设置插入参数 stmt.setString(1, "value1"); stmt.setString(2, "value2"); stmt.setInt(3, 123); // 执行插入操作 int rowsAffected = stmt.executeUpdate(); System.out.println("插入成功,影响行数:" + rowsAffected); } catch (SQLException e) { e.printStackTrace(); } } } ``` 请确保将上述代码中的`database_name`替换为你要连接的数据库名称,`table_name`替换为你要插入数据的表名称,`column1`、`column2`、`column3`替换为你要插入数据的列名称。同时,将`your_username`和`your_password`替换为你的MySQL数据库的用户名和密码。 这只是一个基本示例,你可以根据自己的需求进行修改和扩展。在实际应用中,你可能还需要处理异常、关闭连接等操作

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值