A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王大斌 中级黑马   /  2013-4-11 23:57  /  1005 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在jdbc中,我定义了一个数据库类

其中定义了一些静态的数据库引用
private static Connection ct = null;
        private static ResultSet rs = null;
        private static PreparedStatement ps = null;
试问,在这个类中,到底使用纯静态的方法和引用好呢?还是使用一个简单类
也就是创建对象的方式得到比较好呢

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

3 个回复

倒序浏览
不太好意思,你的问题我没太看明白,给你个jdbc操作mysql数据库实例代码参考一下,希望能对你有所帮助
  1. package com.ty.test;

  2. import java.sql.*;

  3. public class TestMysql {
  4.        
  5.         //测试如何操作mysql数据库
  6.         public static void main(String args[])
  7.         {
  8.                 Connection ct=null;
  9.                 PreparedStatement ps=null;
  10.                 ResultSet rs=null;
  11.                 try {
  12.                         //1.加载驱动
  13.                         Class.forName("com.mysql.jdbc.Driver");
  14.                         //2.得到链接
  15.                         ct=DriverManager.getConnection
  16.                         ("jdbc:mysql://localhost:3306/spdb1?useUnicode=true&characterEncoding=UTF-8","root","数据库的密码");
  17.                         //3.创建ps<ps代表预编译的sql对象>
  18.                         ps=ct.prepareStatement("select * from test14");
  19.                         //4.执行
  20.                         rs=ps.executeQuery();
  21.                         while(rs.next())
  22.                         {
  23.                                 System.out.println("姓名="+rs.getString("name")+" 薪水="+rs.getFloat("sal"));
  24.                         }
  25.                 } catch (Exception e) {
  26.                         // TODO: handle exception
  27.                 }finally{
  28.                         //关闭
  29.                         if(rs!=null)
  30.                         {
  31.                            try {
  32.                                 rs.close();
  33.                         } catch (Exception e) {
  34.                                 // TODO Auto-generated catch block
  35.                                 e.printStackTrace();
  36.                         }
  37.                         rs=null;
  38.                         }
  39.                         if(ps!=null)
  40.                         {
  41.                                 try {
  42.                                         ps.close();
  43.                                 } catch (Exception e) {
  44.                                         // TODO Auto-generated catch block
  45.                                         e.printStackTrace();
  46.                                 }
  47.                                 ps=null;
  48.                         }
  49.                         if(ct!=null)
  50.                         {
  51.                                 try {
  52.                                         ct.close();
  53.                                 } catch (SQLException e) {
  54.                                         // TODO Auto-generated catch block
  55.                                         e.printStackTrace();
  56.                                 }
  57.                                 ct=null;
  58.                         }
  59.                 }
  60.         }

  61. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
我来回答楼主的提问,这个问题可以从多个方面来看,是否定义成静态的,得看实际情况,
如果你只是单线程访问,那就定义成静态的吧,如果涉及到多线程,那就最好不要使用静态的。

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
如果问题未解决,请继续追问,如果没有问题了,请将帖子分类 改为“已解决”,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马