`
wcb820710
  • 浏览: 23514 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SqlServer数据库jdbc连接(bean)

阅读更多
java使用jtds连接sqlserver2000问题
一般以下几个问题:
1、WINDOWS防火墙屏蔽了1433端口
2、检查sqlserver2000是否使用的是1433端口
3、检查sqlserver2000是否升级到SP4版本(基本都是这个问题)


属性文件DataBase.properties
jdbc.driver=net.sourceforge.jtds.jdbc.Driver
jdbc.url=jdbc:jtds:sqlserver://localhost:1433;DatabaseName=pubs
jdbc.user=sa
jdbc.password=sa


package com.michael.database;
import java.io.*;
import java.sql.*;
import java.util.*;
public class DBManager {
   private Connection conn = null;
   private Statement stmt = null;
   private ResultSet rs = null;

   /**
    * the Default Constructor
    */

   public DBManager(){
    init();
   }

   /**
    * connect database
    */
  
   private void init(){
    Properties props = new Properties();
    /*从属性文件中读*/
    String fileName = "DataBase.properties";
    FileInputStream fis = null;
    try {
      fis = new FileInputStream(fileName);
    } catch (FileNotFoundException e) {
      e.printStackTrace();
    }
    //InputStream is = getClass().getResourceAsStream(fileName);
    /*加载输入流中的文件*/
    try {
      props.load(fis);
    } catch (IOException e) {
     e.printStackTrace();
    }
    /*从输入流中读取属性列表(key键和value值对)*/
    String driver = props.getProperty("jdbc.driver");
    String url = props.getProperty("jdbc.url");
    String user = props.getProperty("jdbc.user");
    String password = props.getProperty("jdbc.password");
 
    try {
      Class.forName(driver);
    } catch (ClassNotFoundException e) {
     e.printStackTrace();
    }
    try {
      conn = DriverManager.getConnection(url, user, password);
      stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
    } catch (SQLException e) {
     e.printStackTrace();
    }
  }
   /**
    * 查询数据库的结果集
    * @param sql
    * @return ResultSet
    */

  public ResultSet getResultSet(String sql){
    try {
     rs = stmt.executeQuery(sql);
    } catch (SQLException e) {
     e.printStackTrace();
    }
     return rs;
  }
  /**
   * insert/update/delete数据库记录
   * @param sql
   * @return boolean
   */
 
  public boolean execute(String sql){
    try {
     return stmt.execute(sql);
    } catch (SQLException e) {
     e.printStackTrace();
    }
    return false;
  }
  /**
   * close Connection/Statement/ResultSet
   * @param conn
   * @param stmt
   * @param rs
   */
 
  public void closeConnection(Connection conn,Statement stmt,ResultSet rs){
    if(conn!=null)
    try {
     conn.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   if(stmt!=null)
    try {
     stmt.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   if(rs!=null)
    try {
     rs.close();
    } catch (SQLException e) {
     e.printStackTrace();
    }
   }
}

属性文件SqlScript.properties
sql.words1=c://dbtable1.sql
sql.words2=c://dbtable2.sql


package com.michael.database;
import java.io.*;
import java.util.*;
public class DataTransferFromSqlScript {
   private DBManager db = new DBManager();

   /*
    * @param positions
    */
 
   private static void swap(Object[] positions,int i,int j){
     Object temp = positions[i];
     positions[i] = positions[j];
     positions[j] = temp;
   }

   public void readAndSaveResumeData(){
     System.out.println("translate data starting ......");
     Properties props = new Properties();
     /*从属性文件中读*/    
     String fileName = "SqlScript.properties";
     FileInputStream fis = null;
     try {
       fis = new FileInputStream(fileName);
     } catch (FileNotFoundException e) {
       e.printStackTrace();
     }
     //InputStream is = getClass().getResourceAsStream(fileName);
     /*加载输入流中的文件*/

     try {
       props.load(fis);
     } catch (IOException e) {
       e.printStackTrace();
     }
     /*从输入流中读取属性列表(key键和value值对),value是sql脚本存放位置*/   
     List<String> files = new ArrayList<String>();
     files.add(props.getProperty("sql.words1"));
     files.add(props.getProperty("sql.words2"));

     for(String filename : files){
       File file = new File(filename);
       List<String> sqls = new ArrayList<String>();
       try {
         FileReader in = new FileReader(file);
         BufferedReader br = new BufferedReader(in);
         String s;
         String str = "";
         while((s = br.readLine())!= null){
          if(s.startsWith("insert into")){
            str = s;
          }else if(s.startsWith("values(")){
            s = getSql(s);
            sqls.add((str+s).replace(";", ""));
          }
       }
        br.close();
        in.close();
       } catch (IOException e) {
         e.printStackTrace();
       }
  
      // Object[] sqlsSorted = sortSqls(sqls, -1);
  
      Object[] sqlsSorted = sqls.toArray();
  
     System.out.println(filename+" total: "+sqlsSorted.length);
  
     for(Object sql : sqlsSorted){
       System.out.println(sql);
      /*执行sql语句*/
      db.execute(sql.toString());
     }
   }
}

  private String getSql(String s){
    int i = s.indexOf("to_timestamp");
    if(i>0){
      return s.replace(s.substring(i,i+70),null);
    }else{
      return s;
    }
  }

  /**
   * @param sqls
   * @param n (n > 0 or n < 0)
   * @return
   */
 
  public static Object[] sortSqls(List<String> sqls,int n){
    Object[] array = sqls.toArray();
    for(int i = 0;i < array.length;i++){
      for(int j = array.length-1;j>i;j--){
       if(n>0){
         if(getId((String)array[j]) > getId((String)array[j-1]))
         swap(array,j,j-1);
      }else if(n<0){
        if(getId((String)array[j]) < getId((String)array[j-1]))
        swap(array,j,j-1);
      }
     }
    }
    return array;
  }

  /**
   * @param sql
   * @return
   */
 
  public static int getId(String sql){
    int start = sql.indexOf("values(");
    String s = sql.substring(start).split(",")[0].substring(8);
    return Integer.parseInt(s);
  }
}
分享到:
评论

相关推荐

    SSM框架druid连接池,sql server数据库

    SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java后端开发中的常用技术栈。在SSM项目中,数据库连接管理是至关重要的,而...在与SQL Server数据库配合时,理解SQL Server的特性和Druid的配置选项是关键。

    MyBatis通过 JDBC连接 SQL server 数据库简单例子,进阶使用动态代理

    在本示例中,我们将探讨如何使用MyBatis通过JDBC连接到SQL Server数据库,并进一步学习如何利用MyBatis的动态代理机制生成Mapper接口的实现。 首先,我们需要在项目中引入MyBatis和SQL Server的JDBC驱动依赖。通常...

    mybatis-generator生成sqlserver数据库Bean、Dao、Mapper代码工具

    总的来说,MyBatis Generator是MyBatis框架下的一个强大工具,对于SQL Server数据库的开发尤其便利。通过合理配置和使用,可以大大提高开发效率,同时保持代码的整洁和可维护性。在实际开发中,熟练掌握MBG的使用,...

    SQL Server数据库的连接方法(struts项目)

    ### SQL Server数据库的连接方法(Struts项目) 在软件开发过程中,尤其是对于基于Java的Web应用程序,连接数据库是一项基础且重要的工作。本文将详细介绍如何在Struts项目中连接SQL Server数据库,并通过示例代码...

    sqlServer2012驱动包

    这个驱动包包含了与SQL Server通信所需的类,尤其是`com.microsoft.sqlserver.jdbc.Driver`,它是JDBC驱动的实现,使得Java应用程序能够与SQL Server建立连接。 配置Spring的德鲁伊数据源(Druid DataSource)是...

    java连接sql server 数据库代码

    ### Java连接SQL Server数据库知识点详解 #### 一、概述 在Java开发中,连接SQL Server数据库是一项基础且重要的技能。本文将详细介绍如何使用Java代码来连接SQL Server 2005(以及其他版本)数据库,并解释代码中...

    SpringBoot整合Mybatis连接SQL Server 双数据源配置

    url: jdbc:sqlserver://localhost:1433;databaseName=primaryDB username: user1 password: pass1 driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver secondary: url: jdbc:sqlserver://...

    springboot多数据源整合sqlserver

    SQL Server的配置可能与MySQL略有不同,比如驱动类名(`com.microsoft.sqlserver.jdbc.SQLServerDriver`),URL格式也有所不同。确保使用正确的驱动库并正确配置连接字符串。 9. **测试与集成**: 在编写完配置和...

    springboot多数据源切换mysql+sql server事例

    在Spring Boot中,需要使用对应的JDBC驱动,如`com.microsoft.sqlserver:mssql-jdbc`。 - 配置内容与MySQL类似,但URL格式、用户名和密码会根据SQL Server实例的不同而变化。 5. **开发工具IntelliJ IDEA**: - ...

    c3p0和SQLServer连接驱动

    配置完成后,c3p0会自动管理SQLServer数据库的连接,提供高效的连接复用和健康检查。 **5. 性能优化与最佳实践** - **合理设置连接池大小**:根据应用的并发量和数据库服务器的承受能力,合理设定初始池大小、最小...

    SpringMVC+Mybatis+SQLServer整合源码 含数据库文件

    在SQLServer数据库方面,它提供了强大的数据存储和处理能力。包括表、视图、存储过程、触发器等数据库对象,以及事务控制、索引优化等功能。在整合SpringMVC和Mybatis时,通常会创建数据库连接池,如Apache的DBCP或...

    图书管理系统+Java源代码+SQL Server数据库文件

    其次,SQL Server数据库文件存储了系统的数据,包括图书信息、读者信息、借阅记录等。SQL Server是微软公司的一款关系型数据库管理系统,具备高可用性、安全性以及强大的数据处理能力。开发者在设计数据库时,可能...

    sql server 数据库

    在Web应用中,通常会使用JDBC(Java Database Connectivity)来连接到SQL Server数据库,实现数据的存取。JDBC驱动程序是桥梁,允许Java应用程序通过API与SQL Server进行通信。 在实际应用中,配置Tomcat与SQL ...

    利用java的jdbc连接数据库中间件

    总的来说,这个中间件通过Java的JDBC和Java Bean技术,实现了数据库连接的抽象化,降低了用户操作数据库的复杂度,提升了代码的可复用性和可维护性。对于大型项目,这样的设计可以极大地优化数据库访问效率,同时...

    springboot多数据源配置(sqlserver,mysql)

    通过以上步骤,我们可以在Spring Boot应用中成功配置多数据源,支持同时连接和操作MySQL和SQL Server数据库。这使得我们可以根据业务需求灵活地分配和管理数据存储,提高了系统的可扩展性和灵活性。

    基于JavaEE技术和SQL Server数据库的售后服务管理系统源码.zip

    3. 数据访问层:通过JDBC或JPA与SQL Server数据库进行交互,完成数据的CRUD(创建、读取、更新、删除)操作。 四、系统功能模块 1. 用户管理:包括用户注册、登录、权限分配等。 2. 客户管理:记录客户基本信息,...

    java Servlet 云平台教学系统myeclipse定制开发SQLServer数据库网页模式java编程jdbc源码

    环境为TOMCAT7.0,Myeclipse8.5开发,数据库为SQLServer2008,使用java语言开发。 二、功能介绍 博客中有对应的系统介绍 三、注意事项 1、管理员账号:admin密码:admin 数据库配置文件DBO.java ,权限包括 用户,...

    MyBatis连接SQLServer的小例子

    本教程将通过一个小例子,详细介绍如何使用MyBatis连接到SQLServer数据库。 首先,我们需要在项目中引入MyBatis和SQLServer的驱动依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml &lt;!-- ...

    JSP源代码_查询指定SQL Server数据库中的日期型数据.doc

    综上所述,这个JSP源代码示例展示了如何通过JDBC连接SQL Server数据库,并根据用户输入的日期查询书籍信息。在实际应用中,还需要考虑错误处理、数据验证和安全性等方面,以提高应用程序的健壮性和安全性。

    JDBC(连接池)连接三种数据库

    而对于SQL Server,则可能是`com.microsoft.sqlserver.jdbc.SQLServerDriver`。加载驱动后,我们可以使用这些驱动提供的方法建立连接。 JNDI是一种Java API,它允许应用程序查找和绑定命名服务中的对象,如数据库...

Global site tag (gtag.js) - Google Analytics