IBatis- problem

0

Witam,
Próbuję nauczyć się korzystać z IBatisa. Niestety nie mogę połączyć się ze swoją bazą danych i wyegzekwować na niej kwerend.
Używam następującej biblioteki IBatisa: ibatis-2.3.4.726.jar. Poniżej zamieszczam kod programu.

Plik XML klasy:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sqlMap 
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> 
<sqlMap namespace="Employee"> 
    <select id="getAll" resultClass="Employee"> 
        SELECT * FROM NH.dbo.Employee 
    </select> 
    <update id="update" parameterClass="Employee"> 
        UPDATE EMPLOYEE 
        SET FirstName = #FirstName# 
        WHERE ID = #ID# 
    </update> 
</sqlMap> 

Plik XML konfiguracyjny:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sqlMapConfig 
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" 
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd"> 
<sqlMapConfig> 
    <settings useStatementNamespaces="true"/> 
        <transactionManager type="JDBC"> 
        <dataSource type="SIMPLE"> 
            <property name="JDBC.Driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> 
            <property name="JDBC.ConnectionURL" value="jdbc:sqlserver://localhost:1433;databaseName=NH"/>
            <property name="JDBC.Username" value="Paweł-Komputer\Paweł"/>
            <property name="JDBC.Password" value=""/>
        </dataSource> 
        </transactionManager> 
     <sqlMap resource="Employee.xml"/> 
</sqlMapConfig>  

Kod klasy:

public class Employee {
    private int ID; 
    private String FirstName; 
    private String LastName; 
    private int Salary;
    
    public Employee(String firstName, String lastName, int salary)
    {
        FirstName = firstName;
        LastName = lastName;
        Salary = salary;
    }

    Employee() {
        
    }
    
    public int getID()
    {
        return ID;
    }
    
    public void setID(int id)
    {
        ID = id;
    }
    
    public String getFirstName()
    {
        return FirstName;
    }
    
    public void setFirstName(String firstName)
    {
        FirstName = firstName;
    }
    
    public String getLastName()
    {
        return LastName;
    }
    
    public void setLastName(String lastName)
    {
        LastName = lastName;
    }
    
    public int getSalary()
    {
        return Salary;
    }
    
    public void setSalary(int salary)
    {
        Salary = salary;
    }
    
}

Metoda Main:

import com.ibatis.common.resources.Resources;
import com.ibatis.sqlmap.client.SqlMapClient;
import com.ibatis.sqlmap.client.SqlMapClientBuilder;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
import com.microsoft.sqlserver.jdbc.*;

public class IBATISExample {

    public static void main(String[] args) throws IOException,SQLException {
       
      
        String path = "SqlMapConfig.xml";
        Reader rd = Resources.getResourceAsReader(path); 
        System.out.println("Udało się znaleźć pliki"); 
        SqlMapClient smc = SqlMapClientBuilder.buildSqlMapClient(rd); 
        System.out.println("Going to update record....."); 
        Employee rec = new Employee(); 
        rec.setID(1); 
        rec.setFirstName( "Roma"); 
        System.out.println("Stworzono nowego Employee");
        System.out.println("Record updated Successfully "); 
        System.out.println("Going to read records....."); 
        List <Employee> ems = (List<Employee>) smc.queryForList("Employee.getAll", null); 
        Employee em = null; 
        for (Employee e : ems) { 
            System.out.print(" " + e.getID()); 
            System.out.print(" " + e.getFirstName()); 
            System.out.print(" " + e.getLastName()); 
            System.out.print(" " + e.getSalary()); 
            em = e; 
            System.out.println(""); 
        } 
        System.out.println("Records Read Successfully "); 
    
        } 

}

Próba połączenia się z bazą danych generuje taki błąd:

gru 07, 2011 5:35:30 PM com.microsoft.sqlserver.jdbc.SQLServerConnection <init>
SEVERE: Java Runtime Environment (JRE) version 1.7 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.
Exception in thread "main" java.lang.UnsupportedOperationException: Java Runtime Environment (JRE) version 1.7 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.<init>(SQLServerConnection.java:238)
	at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:841)
	at java.sql.DriverManager.getConnection(DriverManager.java:579)
	at java.sql.DriverManager.getConnection(DriverManager.java:221)
	at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)
	at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)
	at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)
	at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)
	at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeQueryForList(MappedStatement.java:139)
	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:567)
	at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForList(SqlMapExecutorDelegate.java:541)
	at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForList(SqlMapSessionImpl.java:118)
	at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForList(SqlMapClientImpl.java:94)
	at IBATISExample.main(IBATISExample.java:25)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

Jeśli wiecie co może być przyczyną tego błędu, to bardzo proszę o pomoc, bo google mi nie pomogło :(

0

a to czemu nie jakiś Hibernate ?

0

@PAV czy ty sobie robisz jaja? Chcesz ORMa korzystać a nie umiesz przeczytać logu błędu?
Czego nie rozumiesz w zdaniu:

Java Runtime Environment (JRE) version 1.7 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.

Używasz JDK 1.7 a jednocześnie próbujesz używać starego drivera JDBC. Zmień albo jedno albo drugie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1