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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 时光♪微凉 于 2014-5-10 17:52 编辑

加必要说明的注释,谢谢!

4 个回复

倒序浏览
  1. import java.sql.*;
  2. public class Test_JDBC1{
  3.   public static void main(String args[])throws Exception{
  4.         try{
  5.                  Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  6.                  System.out.println("加载数据库驱动程序成功");
  7.                  
  8.                 }
  9.                 catch(Exception e)
  10.                 {
  11.                         System.out.println("无法加载数据库驱动程序");       
  12.                 }
  13.                 //创建数据库连接
  14.                 try{
  15.                         Connection conn= DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=students","tct","123456");
  16.                     
  17.                         if(!conn.isClosed())
  18.                       System.out.println("数据库连接成功!");
  19.         //为了执行SQL语句,创建一个语句对象(Statement是一个接口),通过语句对象来执行一条SQL语句
  20.                         Statement st=conn.createStatement();
  21.                         //获取数据的记录
  22.                 String query="select * from Table1";
  23.                         //使用executeQuery()方法执行SQL命令
  24.                 ResultSet        rs=st.executeQuery(query);
  25.                 System.out.println("*************************");
  26.                 while(rs.next())
  27.                 {                       
  28.                         System.out.print(rs.getString("name")+"  ");
  29.                         System.out.print(rs.getInt("age")+"  ");
  30.                         System.out.println(rs.getString("sex")+"  ");
  31.                 }
  32.                 String sql="insert into Table1 values('Tom','20','man')";
  33.                 int  numberOfRows = st.executeUpdate(sql);
  34.        //String strUpdate="UPDATE Table1 SET name='tct4'";       
  35.        //int rows=st.executeUpdate(strUpdate);
  36.     //        System.out.println("数据库表中的"+rows+"行被修改了");

  37.        //String strDelete="DELETE FROM Table1 WHERE name='Tom'";
  38.       // int  numberOfRows = st.executeUpdate(strDelete);
  39.        //如果记录为空,加入十条记录
  40.   /*        if(resultSet.getInt()==0)
  41.                   for(int i=1;i<11;i++)
  42.                         String sql="insert into faqs value"*/
  43.       //执行查询(select)语句,将结果放入到结果集ResultSe(接口)中        */
  44.             query="select * from Table1";
  45.                         //使用executeQuery()方法执行SQL命令
  46.             rs=st.executeQuery(query);
  47.                 System.out.println("*************************");
  48.                 while(rs.next())
  49.                 {
  50.                         System.out.print(rs.getString("name")+"  ");
  51.                         System.out.print(rs.getInt("age")+"  ");
  52.                         System.out.println(rs.getString("sex")+"  ");
  53.                 }
  54.                 rs.close();
  55.                 st.close();
  56.                 conn.close();
  57.                    }
  58.                 catch(SQLException ee)
  59.                   {
  60.                         System.out.println("数据库连接失败!或存在其他问题");
  61.                    }
  62.        
  63.         }
  64. }
  65. 你看看有用没?
复制代码
回复 使用道具 举报
DBUtils?c3p0?
回复 使用道具 举报

感觉这个不是我想要的那个,我想的是在我对数据库执行增删改查操作时,可以调用JDBC帮助类的方法,传入必要的参数,得到想要的结果,就是可以提高代码复用性的那种
回复 使用道具 举报
嘿嘿,自己整了一个数据连接帮助类,看看还能优化没
  1. package basedao;

  2. import java.sql.CallableStatement;
  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. * @author Administrator
  12. *
  13. */
  14. public class BaseDao {
  15.         //数据库驱动字符串
  16.         private String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
  17.         //连接URL字符串
  18.         private String url = "jdbc:sqlserver://localhost:1433;DataBaseName=Message";
  19.         //数据库用户名
  20.         private String user = "sa";
  21.         //用户密码
  22.         private String password = "1213";
  23.         /**
  24.          * 数据连接对象
  25.          */
  26.         protected Connection conn;
  27.         /**
  28.          * 数据操作对象
  29.          */
  30.         protected PreparedStatement ps;
  31.         /**
  32.          * 存储过程操作对象
  33.          */
  34.         protected CallableStatement cs;
  35.         /**
  36.          * 结果集
  37.          */
  38.         protected ResultSet rs;
  39.         /**
  40.          * 创建数据连接对象
  41.          */
  42.         public Connection openConnection() {
  43.                 if (conn == null)
  44.                         try {
  45.                                 Class.forName(driver);
  46.                                 conn = DriverManager.getConnection(url, user, password);
  47.                         } catch (Exception e) {
  48.                                 e.printStackTrace();
  49.                         }
  50.                 return conn;
  51.         }
  52.         /**
  53.          * 关闭数据连接
  54.          */
  55.         public void closeConnection() {
  56.                 if (rs != null)
  57.                         try {
  58.                                 rs.close();
  59.                         } catch (SQLException e) {
  60.                                 e.printStackTrace();
  61.                         }
  62.                 if (ps != null)
  63.                         try {
  64.                                 ps.close();
  65.                         } catch (SQLException e) {
  66.                                 e.printStackTrace();
  67.                         }
  68.                 if (conn != null)
  69.                         try {
  70.                                 conn.close();
  71.                         } catch (SQLException e) {
  72.                                 e.printStackTrace();
  73.                         }
  74.         }
  75.         /**
  76.          * 关闭数据连接
  77.          */
  78.         public void closeConnection(Connection conn, PreparedStatement ps, ResultSet rs) {
  79.                 if (rs != null)
  80.                         try {
  81.                                 rs.close();
  82.                         } catch (SQLException e) {
  83.                                 e.printStackTrace();
  84.                         }
  85.                 if (ps != null)
  86.                         try {
  87.                                 ps.close();
  88.                         } catch (SQLException e) {
  89.                                 e.printStackTrace();
  90.                         }
  91.                 if (conn != null)
  92.                         try {
  93.                                 conn.close();
  94.                         } catch (SQLException e) {
  95.                                 e.printStackTrace();
  96.                         }
  97.         }
  98.         /**
  99.          * 增删改操作
  100.          */
  101.         public int executeIDS(String preparedSql, Object... param) {
  102.                 openConnection();
  103.                 try {
  104.                         ps = conn.prepareStatement(preparedSql);
  105.                         if (param != null)
  106.                                 for (int i = 0; i < param.length; i++) {
  107.                                         // 给Sql语句中的参数赋值
  108.                                         ps.setObject(i + 1, param[i]);
  109.                                 }
  110.                         return ps.executeUpdate();
  111.                 } catch (Exception e) {
  112.                         e.printStackTrace();
  113.                         return -1;
  114.                 } finally {
  115.                         closeConnection();
  116.                 }
  117.         }
  118.         /**
  119.          * 查询操作
  120.          */
  121.         public ResultSet findTable(String preparedSql, Object... param) {
  122.                 openConnection();
  123.                 try {
  124.                         ps = conn.prepareStatement(preparedSql);
  125.                         if (param != null)
  126.                                 for (int i = 0; i < param.length; i++) {
  127.                                         // 给Sql语句中的参数赋值
  128.                                         ps.setObject(i + 1, param[i]);
  129.                                 }
  130.                         return ps.executeQuery();
  131.                 } catch (Exception e) {
  132.                         e.printStackTrace();
  133.                         return null;
  134.                 }//这后面应该不用关闭,关闭了数据库就无法返回ResultSet结果了
  135.         }
  136. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马