插播一段广告哈:我之前共享了两个自己写的小应用,见这篇博客百度地图开发的两个应用源码共享(Android版),没 想到有人找我来做毕设了,年前交付,时间不是很紧,大概了解了下就接下了,主要用到的就是和服务器端交互,这个我之前没做过,因此接下来的时间里会陆续更 新这一些列的博客,记录学习的点滴。第一篇主要是java读取mysql数据库文件。安装及配置文件稍后会上传到我的百度网盘供大家下载。其他的介绍在网 上都可以找到相关的博客,下面直接给出源代码。

mysql建立一个名为“vge_whu”的数据库,并在该数据库中新建一个user表。具体信息如下图所示。

MySQLHelper.java,mySQL操作类,后面陆续完善该类,源码如下:

  1. package edu.whu.vge;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6. /**
  7. *
  8. * 项目名称:JavaSQL1
  9. * 类名称:DBHelper
  10. * 类描述:MySQL数据库操作类
  11. * 创建人:Administrator
  12. * 创建时间:2014-11-25 下午5:11:11
  13. * 修改备注:
  14. * @version
  15. */
  16. public class MySQLHelper
  17. {
  18. public static final String url = "jdbc:mysql://127.0.0.1/vge_whu"; //数据库连接
  19. public static final String name = "com.mysql.jdbc.Driver";   //程序驱动
  20. public static final String user = "root";  //用户名
  21. public static final String password = "abc@123"; //密码
  22. public Connection conn = null;
  23. public PreparedStatement pst = null;
  24. /**
  25. *
  26. * 创建一个新的实例 DBHelper.
  27. *
  28. * @param sql: SQL查询语句
  29. */
  30. public MySQLHelper(String sql)
  31. {
  32. try
  33. {
  34. Class.forName(name);// 指定连接类型
  35. conn = DriverManager.getConnection(url, user, password);// 获取连接
  36. pst = conn.prepareStatement(sql);// 准备执行语句
  37. } catch (Exception e)
  38. {
  39. e.printStackTrace();
  40. }
  41. }
  42. /**
  43. *
  44. * 方法名称: close ;
  45. * 方法描述:  关闭数据库连接 ;
  46. * 参数 :
  47. * 返回类型: void ;
  48. * 创建人:James;
  49. * 创建时间:2014-11-25 下午7:00:12;
  50. * @throws
  51. */
  52. public void close()
  53. {
  54. try
  55. {
  56. this.conn.close();
  57. this.pst.close();
  58. } catch (SQLException e)
  59. {
  60. e.printStackTrace();
  61. }
  62. }
  63. }

再写一个java文件来调用MySQLHelper类执行相关操作,暂时只有查询,后面补充新增、删除、更新等操作。

  1. package edu.whu.vge;
  2. import java.sql.*;
  3. /**
  4. *
  5. * 项目名称:JavaSQL1
  6. * 类名称:JDBCTest
  7. * 类描述: Java连接MySQL
  8. * 测试 创建人:Administrator
  9. * 创建时间:2014-11-25 下午5:11:43
  10. *  修改备注:
  11. *
  12. * @version 1.0
  13. */
  14. public class JDBCTest
  15. {
  16. static String sql = null;
  17. static MySQLHelper db1 = null;
  18. static ResultSet ret = null;
  19. public static void main(String[] args)
  20. {
  21. sql = "select * from user";// SQL语句
  22. db1 = new MySQLHelper(sql);// 创建DBHelper对象
  23. System.out.println("编号--姓名--性别--年龄-------电话-------QQ---------邮箱");
  24. try
  25. {
  26. ret = db1.pst.executeQuery();// 执行语句,得到结果集
  27. while (ret.next())
  28. {
  29. String uId = ret.getString(1);
  30. String uName = ret.getString(2);
  31. String uSex = ret.getString(3);
  32. String uAge = ret.getString(4);
  33. String uTel = ret.getString(5);
  34. String uQQ = ret.getString(6);
  35. String uMail = ret.getString(7);
  36. System.out.println(uId + "\t" + uName + "\t" + uSex + "\t"
  37. + uAge + "\t" + uTel + "\t" + uQQ + "\t" + uMail);
  38. }// 显示数据
  39. ret.close();
  40. db1.close();// 关闭连接
  41. } catch (SQLException e)
  42. {
  43. e.printStackTrace();
  44. }
  45. }
  46. }

执行结果如下图所示。

-----------------------------华丽的分割线(2014.11.26)--------------------------------------

MySQLHelper操作类

  1. package edu.whu.vge;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.PreparedStatement;
  5. import java.sql.ResultSet;
  6. import java.sql.SQLException;
  7. /**
  8. *
  9. * @项目名称:JavaSQL1
  10. * @类名称:MySQLHelper
  11. * @类描述:mysql操作类
  12. * @创建人:奔跑的鸡丝
  13. * @创建时间:2014-11-25 下午8:58:34
  14. * @修改备注:
  15. * @版本:
  16. */
  17. public class MySQLHelper
  18. {
  19. public static final String url = "jdbc:mysql://127.0.0.1/vge_whu"; // 数据库连接
  20. public static final String name = "com.mysql.jdbc.Driver"; // 程序驱动
  21. public static final String user = "root"; // 用户名
  22. public static final String password = "abc@123"; // 密码
  23. public Connection connection = null; // 数据库连接
  24. public PreparedStatement preparedStatement = null; // 待查询语句描述对象
  25. /**
  26. *
  27. * 创建一个新的实例 DBHelper.
  28. *
  29. * @param sql
  30. *            : SQL查询语句
  31. */
  32. public MySQLHelper()
  33. {
  34. try
  35. {
  36. Class.forName(name);// 指定连接类型
  37. connection = DriverManager.getConnection(url, user, password);// 获取连接
  38. } catch (Exception e)
  39. {
  40. e.printStackTrace();
  41. }
  42. }
  43. /**
  44. *
  45. * @方法名称: close ;
  46. * @方法描述: 关闭数据库 ;
  47. * @参数 :
  48. * @返回类型: void ;
  49. * @创建人:奔跑的鸡丝 ;
  50. * @创建时间:2014-11-25 下午8:58:14;
  51. * @throws
  52. */
  53. public void close()
  54. {
  55. try
  56. {
  57. this.connection.close();
  58. this.preparedStatement.close();
  59. } catch (SQLException e)
  60. {
  61. System.out.println("关闭数据库出现问题!!");
  62. e.printStackTrace();
  63. }
  64. }
  65. /**
  66. *
  67. * @方法名称: query ;
  68. * @方法描述: 查询操作 ;
  69. * @参数 :@param sql:查询操作语句 ;
  70. * @返回类型: ResultSet :查询结果数据集;
  71. * @创建人:奔跑的鸡丝 ;
  72. * @创建时间:2014-11-25 下午8:49:25;
  73. * @throws
  74. */
  75. public ResultSet query(String sql)
  76. {
  77. ResultSet resultSet = null;
  78. try
  79. {
  80. preparedStatement = connection.prepareStatement(sql); // 准备执行语句
  81. resultSet = preparedStatement.executeQuery();
  82. } catch (Exception e)
  83. {
  84. System.out.println("查询错误,请检查!!");
  85. e.printStackTrace();
  86. }
  87. return resultSet;
  88. }
  89. /**
  90. *
  91. * @方法名称: executeNonquery ;
  92. * @方法描述: 插入、修改、删除等操作 ;
  93. * @参数 :@param sql:插入语句
  94. * @返回类型: boolean ;
  95. * @创建人:奔跑的鸡丝;
  96. * @创建时间:2014-11-25 下午8:45:49;
  97. * @throws
  98. */
  99. public boolean executeNonquery(String sql)
  100. {
  101. boolean flag = false;
  102. try
  103. {
  104. preparedStatement = connection.prepareStatement(sql);
  105. preparedStatement.executeUpdate();
  106. flag = true;
  107. } catch (Exception e)
  108. {
  109. System.out.println("插入数据库时出现错误!!");
  110. e.printStackTrace();
  111. }
  112. return flag;
  113. }
  114. /**
  115. *
  116. * @方法名称: getCount ;
  117. * @方法描述:  获取表记录数 ;
  118. * @参数 :@param sql
  119. * @参数 :@return
  120. * @返回类型: int 记录数;
  121. * @创建人:奔跑的鸡丝 ;
  122. * @创建时间:2014-11-26 下午2:40:37;
  123. * @throws
  124. */
  125. public int getCount(String sql)
  126. {
  127. int count=0;
  128. try
  129. {
  130. preparedStatement=connection.prepareStatement(sql);
  131. ResultSet resultSet=preparedStatement.executeQuery();
  132. resultSet.last();
  133. count=resultSet.getRow();
  134. resultSet.close();
  135. } catch (Exception e)
  136. {
  137. System.out.println("查询总记录数失败!!");
  138. e.printStackTrace();
  139. }
  140. return count;
  141. }
  142. }

实例调用:

    1. package edu.whu.vge;
    2. import java.sql.*;
    3. /**
    4. *
    5. * 项目名称:JavaSQL1 类名称:JDBCTest 类描述: Java连接MySQL 测试 创建人:Administrator
    6. * 创建时间:2014-11-25 下午5:11:43 修改备注:
    7. *
    8. * @version 1.0
    9. */
    10. public class JDBCTest
    11. {
    12. static MySQLHelper pMySQLHelper = null;
    13. public static void main(String[] args)
    14. {
    15. insert();
    16. update();
    17. delete();
    18. query();
    19. getCount();
    20. }
    21. /**
    22. *
    23. * @方法名称: query ;
    24. * @方法描述: 查询数据库 ;
    25. * @参数 :
    26. * @返回类型: void ;
    27. * @创建人:奔跑的鸡丝 ;
    28. * @创建时间:2014-11-25 下午9:03:00;
    29. * @throws
    30. */
    31. private static void query()
    32. {
    33. pMySQLHelper = new MySQLHelper();// 创建MySQLHelper对象
    34. String sql = "select * from user"; // 查询SQL语句
    35. ResultSet pResultSet = null;
    36. System.out.println("编号--姓名--性别--年龄-------电话-------QQ---------邮箱");
    37. try
    38. {
    39. pResultSet = pMySQLHelper.query(sql);// 执行语句,得到结果集
    40. // 显示数据
    41. while (pResultSet.next())
    42. {
    43. String uId = pResultSet.getString(1);
    44. String uName = pResultSet.getString(2);
    45. String uSex = pResultSet.getString(3);
    46. String uAge = pResultSet.getString(4);
    47. String uTel = pResultSet.getString(5);
    48. String uQQ = pResultSet.getString(6);
    49. String uMail = pResultSet.getString(7);
    50. System.out.println(uId + "\t" + uName + "\t" + uSex + "\t"
    51. + uAge + "\t" + uTel + "\t" + uQQ + "\t" + uMail);
    52. }
    53. pMySQLHelper.close();
    54. pResultSet.close();
    55. } catch (SQLException e)
    56. {
    57. e.printStackTrace();
    58. }
    59. }
    60. /**
    61. *
    62. * @方法名称: insert ;
    63. * @方法描述: 插入 ;
    64. * @参数 :
    65. * @返回类型: void ;
    66. * @创建人:奔跑的鸡丝 ;
    67. * @创建时间:2014-11-25 下午9:40:41;
    68. * @throws
    69. */
    70. private static void insert()
    71. {
    72. try
    73. {
    74. pMySQLHelper = new MySQLHelper();
    75. String insert = "Insert Into user Values ('2010301610308','老大','男',58,'123456789','123456789','1234@163.com')";
    76. if (pMySQLHelper.executeNonquery(insert))
    77. {
    78. System.out.println("插入成功!!");
    79. }
    80. pMySQLHelper.close();
    81. } catch (Exception e)
    82. {
    83. System.out.println("插入出錯!!");
    84. e.printStackTrace();
    85. }
    86. }
    87. /**
    88. *
    89. * @方法名称: update ;
    90. * @方法描述: 修改 ;
    91. * @参数 :
    92. * @返回类型: void ;
    93. * @创建人:奔跑的鸡丝 ;
    94. * @创建时间:2014-11-26 下午2:19:14;
    95. * @throws
    96. */
    97. private static void update()
    98. {
    99. pMySQLHelper = new MySQLHelper();
    100. String update = "Update user Set Name='奔跑的鸡丝' Where StudentID='2010301610305'";
    101. if (pMySQLHelper.executeNonquery(update))
    102. {
    103. System.out.println("修改成功!!");
    104. }
    105. pMySQLHelper.close();
    106. }
    107. /**
    108. *
    109. * @方法名称: delete ;
    110. * @方法描述: 删除 ;
    111. * @参数 :
    112. * @返回类型: void ;
    113. * @创建人:奔跑的鸡丝 ;
    114. * @创建时间:2014-11-26 下午2:33:40;
    115. * @throws
    116. */
    117. private static void delete()
    118. {
    119. pMySQLHelper = new MySQLHelper();
    120. String delete = "Delete From user Where Name='朱庆'";
    121. if (pMySQLHelper.executeNonquery(delete))
    122. {
    123. System.out.println("删除成功!!");
    124. }
    125. pMySQLHelper.close();
    126. }
    127. private static void getCount()
    128. {
    129. pMySQLHelper=new MySQLHelper();
    130. String getCountString="Select * From user";
    131. System.out.println("记录数为:"+pMySQLHelper.getCount(getCountString));
    132. }
    133. from: http://blog.csdn.net/giser_whu/article/details/41487213

java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)的更多相关文章

  1. Java对MySQL数据库进行连接、查询和修改(转)

    Java对MySQL数据库进行连接.查询和修改 0. 一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection( ...

  2. Java 操作MySql数据库

    Java 项目开发中数据库操作是很重要的一个方面,对于初学者来说,MySql是比较容易熟悉的一种常见数据库,这篇文章记录了如何用Java来操作MySql数据库. 第一章 JDBC的概念 JDBC(Ja ...

  3. Python操作Mysql数据库——多表组合查询

    前面我们介绍了单张表的查询,包括模糊查询.分组.排序.各种筛选条件等等操作,在实际应用中,查询的数据往往不止局限在一张表里,通常需要多张表在一起进行组合查询,今天我们将会对Mysql当中的多张有关联的 ...

  4. Java对MySQL数据库进行连接、查询和修改【转载】

    一般过程: (1) 调用Class.forName()方法加载驱动程序. (2) 调用DriverManager对象的getConnection()方法,获得一个Connection对象. (3) 创 ...

  5. python,java操作mysql数据库,数据引擎设置为myisam时能够插入数据,转为innodb时无法插入数据

    今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎 ...

  6. java向mysql数据库插入数据显示乱码的问题

    在做一个java web工程时,有时会碰到在向数据库添加数据库时,结果出现乱码”???“的问题.针对该问题的主要解决办法就是: 一.确保是否添加了字符集过滤器: 在java web工程中的web.xm ...

  7. Java连接mysql数据库并进行内容查询

    最近用框架做了几个项目,感觉当初底层的东西有点忘了,写一个JDBC的简单的连接代码来熟悉回顾一下,也希望对刚接触的新手能有所帮助.这也是我的第一篇随笔,废话不多说,直接上代码: public Conn ...

  8. JAVA操作Mysql数据库

    String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://127.0.0.1:3306/ph ...

  9. Java连接MySQL数据库及操作

    Java操作MySQL数据库,需要驱动mysql-connector-java 来进行操作,去下载对应的jar包   一.导入需要的jar包 我用的是maven对包进行管理,在maven中添加如下内容 ...

随机推荐

  1. 彻底弄明白之数据结构中的KMP算法

    如何加速朴素查找算法? KMP,当然还有其他算法,后续介绍.      Knuth–Morris–Pratt string search algorithm Start at LHS of strin ...

  2. BZOJ4553: [Tjoi2016&Heoi2016]序列

    Description 佳媛姐姐过生日的时候,她的小伙伴从某宝上买了一个有趣的玩具送给他.玩具上有一个数列,数列中某些项的值 可能会变化,但同一个时刻最多只有一个值发生变化.现在佳媛姐姐已经研究出了所 ...

  3. [转载]TableView详解

    一.建立 UITableView  DataTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 420)];  [Data ...

  4. lua语法备忘录

    1.三元表达式 a?b:c => a and b or c 2.循环数组 local keys = args.kvs:get_keys() local arr = xstring.split(k ...

  5. osg学习示例之遇到问题四骨骼动画编译osgCal

    osg学习示例之遇到问题四骨骼动画编译osgCal 转自:http://blog.csdn.net/wuwangrun/article/details/8239451 今天学到书<OpenSce ...

  6. print_r、echo、var_dump三者的区别

    这三者均是php里输出的方式. 1.print_r用于输出数组. 2.echo只能用于输出字符串,在没有框架的时候,多用这种方法将结果打印在html页面上. 3.var_dump能输出任何类型的数据, ...

  7. POJ3468 线段树(区间更新,区间求和,延迟标记)

    A Simple Problem with Integers Time Limit: 5000MS   Memory Limit: 131072K Total Submissions: 97196   ...

  8. jquery回车执行某个事件

    这里用到的是在查询框中输入数据后直接回车直接查询. //回车执行查询事件(执行class='btn-query'的单击事件) $(document).keydown(function (event) ...

  9. Lua迭代器和泛型for

    1.迭代器与closure 在lua中,迭代器通常为函数,每调用一次函数,会返回集合中的下一个元素.每个迭代器在成功调用的时候,都需要保存一些状态,closure(闭包)完美为迭代器运用而生. fun ...

  10. zju(5)LED控制实验

    1.实验目的 1.学习和掌握如何将一个驱动程序添加到Kconfig,编译到内核. 二.实验内容 1.编写EduKit-IV试验箱Linux操作系统下LED灯的驱动: 2.编写EduKit-IV试验箱L ...