环境:windows Server2003, Eclipse helios, MS SqlServer 2008
step 1: SQL:
Create table Person ( id_1 bigint identity primary key, firstName_1 varchar(20), lastName_1 varchar(20), weightInKilograms_1 decimal, heightInMeters_1 decimal )
step 2: dbConfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd"> <sqlMapConfig> <properties resource="db.properties" /> <settings cacheModelsEnabled="true" enhancementEnabled="true" lazyLoadingEnabled="true" maxRequests="32" maxSessions="10" maxTransactions="5" useStatementNamespaces="false" /> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="${driver}" /> <property name="JDBC.ConnectionURL" value="${url}" /> <property name="JDBC.Username" value="${user}" /> <property name="JDBC.Password" value="${password}" /> </dataSource> </transactionManager> <sqlMap resource="com/ibatis/Person.xml" /> </sqlMapConfig>
step 3: db.properties
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver url=jdbc:sqlserver://192.168.10.144;databaseName=Test; user=sa password=xxxxxx
step 4: Person.java
package com.ibatis; public class Person { private int id; private String firstName; private String lastName; private double weightInKilograms; private double heightInMeters; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public double getWeightInKilograms() { return weightInKilograms; } public void setWeightInKilograms(double weightInKilograms) { this.weightInKilograms = weightInKilograms; } public double getHeightInMeters() { return heightInMeters; } public void setHeightInMeters(double heightInMeters) { this.heightInMeters = heightInMeters; } }
step 5: Person.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN" "http://www.ibatis.com/dtd/sql-map-2.dtd"> <sqlMap namespace="Person"> <!-- Use primitive wrapper type (e.g. Integer) as parameter and allow results to be auto-mapped results to Person object (Java Bean) properties --> <select id="getPerson" parameterClass="int" resultClass="com.ibatis.Person"> SELECT id_1 as id, firstName_1 as firstName, lastName_1 as lastName, weightInKilograms_1 as weightInKilograms, heightInMeters_1 as heightInMeters FROM PERSON WHERE id_1 = #id# </select> </sqlMap>
step 6: Test
package com.test; import java.io.IOException; import java.io.Reader; import java.sql.SQLException; import com.ibatis.Person; import com.ibatis.common.resources.Resources; import com.ibatis.sqlmap.client.SqlMapClientBuilder; public class TestPerson { private static final String resource = "dbConfig.xml"; public static void main(String[] args) { try { com.ibatis.sqlmap.client.SqlMapClient sqlMap = null; Reader reader = Resources.getResourceAsReader(resource); sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); Person person = (Person) sqlMap.queryForObject("getPerson", new Integer(1)); System.out.println(person.getFirstName()); // 打印 System.out.println(person.getLastName()); // 打印 System.out.println(person.getHeightInMeters()); // 打印 System.out.println(person.getWeightInKilograms()); // 打印 } catch (IOException e) { e.printStackTrace(); } catch (SQLException e1) { e1.printStackTrace(); } } }
参考网络资源。