问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编写一个Java程序对数据库的链接、查询、修改、插入、删除的操作如何做

发布网友 发布时间:2022-04-08 19:22

我来回答

2个回答

懂视网 时间:2022-04-08 23:44

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

技术分享

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

 

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

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

 

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

执行结果如下图所示。

技术分享

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

MySQLHelper操作类

 

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


实例调用:

 

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

java操作MySQL数据库(插入、删除、修改、查询、获取所有行数)

标签:

热心网友 时间:2022-04-08 20:52

jdbc操作数据:
①配置数据库连接
数据库:jdbc:mysql://
localhost
:3306/test
用户名:root
密码:root
②什么框架也不要,直接在一个.java中完成!
③画一个页面,放几个按钮,对应相对应的操作
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
人字梯有什么安全隐患吗 怎样激发青春期孩子的内驱力 如何激发青春期孩子的内驱力 ...小题1:移船相近邀相见,添酒回灯重开宴。 , &n... L1和L2串联 电压表并联在L1两端 当L1断路后 电压表测的为什么就成了电源... L1和L2串联,用电压表测L1两端的电压,L2不亮时,电流表为什么测的是电源电... 电路上传连两个灯泡L1与L2电压表测L1电压,当L1短路与断路时电压表情况... 对方拖着不办离婚手续该怎么办 计算机一级电子表格怎么拿分 如何配置思源黑体为latex中文字体? 思源黑体字体怎么安装 郑翔洲的作品 90秒跑步机多少步 不同频率的内存条一起使用如果降频的话会影响电脑性能吗? 讲商业模式比较强的老师有哪些? 资本与商业模式顶层设计互联网时代如何发现企业高利润区 PDF 初一戴团徽还是队徽? 女性开的车排名前10 个矮的女生比较适合开什么样的车?有什么推荐吗? 30万的SUV有很多,适合女性驾驶的都有哪些呢? 女士奔驰30万左右有哪些? 适合女生开的SUV车有哪些 房子里面的泥巴地面怎样才会硬? 女性开的suv车排名前10是什么? 适合女人开的SUV有哪些款 女生开宝马x3还是奔驰glc? 怎样使泥巴变硬? 适合女生开的SUV有哪些? 怎么能让泥巴土地硬化? 泥巴加什么可以增加硬度 如何找回以前的? 时代华商董事长企投班怎样/靠不靠谱? 内存降频有什么影响 满贯亮眼魔镜是真的么 频率1600的内存条和频率1333的在一起,频率是1600的降频了,会不会有什么负作用? 在跑步机跑了7.17公里等于跑了多少步数 内存条如果降频使用性能会不会变低 比如2400降到2133的 会不会比直接2133的内存条性能低 合肥建行授信是多少额度 股权激励,人才资本化,商业模式设计,家族财富,产业整合之间什么关系 如何优化产业结构加快转变发展方式 Iphone App 健康 在跑步机上能识别步数和公里数吗 建设银行信用卡有预授信额度,是不是一定可以申请到信用卡呢? 店铺怎样可以快速转让出去?又不想太亏本!急急 二手商铺如何卖 我两年买了两间县城里的临街门市,现在生意急需用钱,如何才能快速卖出去?谢谢老师指点 想把卖不掉的商铺变现应该怎么做? “蜜”字开头的成语有哪些? 做为成都商业地产公司一名商铺销售员,怎么样才能有带看?能更好的把商铺卖出去?不要答非所问! 一花一世界一树一菩提,心中无一物明镜亦非台是什么意思? 怎样在短时间把商品卖出,提高店铺人气和销售额拜托各位大神 口腹蜜剑的典故