插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客 没想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更新这一些列的博客,记录学习的点滴。第一篇主要是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();
}
}
}
执行结果如下图所示。
欢迎大家留言交流。