先写一个小例子入门一下,对iBATIS有一个认识
步骤:
1 建立数据库,创建表(user表,有userid,name,password,department,其中userid为主键,而且自动增长)
2 创建工程,加入相关jar包(常用的,数据库连接的,ibatis相关jar包)
3 创建xml文件(sql-map-config.xml,user.xml)
4 编写代码,测试运行
sql-map-config.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">
- <!--(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+-->
- <sqlMapConfig>
- <transactionManager type="JDBC">
- <dataSource type="SIMPLE">
- <property value="com.mysql.jdbc.Driver" name="JDBC.Driver"/>
- <property value="jdbc:mysql://localhost:3306/ibatis" name="JDBC.ConnectionURL"/>
- <property value="root" name="JDBC.Username"/>
- <property value="root" name="JDBC.Password"/>
- </dataSource>
- </transactionManager>
- <sqlMap resource="user.xml" />
- </sqlMapConfig>
<?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"> <!--(properties?,settings?,resultObjectFactory?,typeAlias*,typeHandler*,transactionManager?,sqlMap+)+--> <sqlMapConfig> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property value="com.mysql.jdbc.Driver" name="JDBC.Driver"/> <property value="jdbc:mysql://localhost:3306/ibatis" name="JDBC.ConnectionURL"/> <property value="root" name="JDBC.Username"/> <property value="root" name="JDBC.Password"/> </dataSource> </transactionManager> <sqlMap resource="user.xml" /> </sqlMapConfig>
user.xml
- <?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>
- <select id="getAllUsers" resultClass="hashmap"
- parameterClass="string">
- SELECT * FROM USER WHERE DEPARTMENT=#department#
- </select>
- </sqlMap>
<?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> <select id="getAllUsers" resultClass="hashmap" parameterClass="string"> SELECT * FROM USER WHERE DEPARTMENT=#department# </select> </sqlMap>
代码及测试Test.java
- import com.ibatis.sqlmap.client.*;
- import com.ibatis.common.resources.*;
- import java.io.IOException;
- import java.io.Reader;
- import java.sql.SQLException;
- import java.util.List;
- public class Test {
- /**
- * @param args
- * @throws SQLException
- */
- public static void main(String[] args) throws SQLException {
- String resource ="SqlMapConfig.xml";
- Reader reader;
- try {
- reader = Resources.getResourceAsReader(resource);
- SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
- List list= sqlMap.queryForList("getAllUsers", "Market");
- for (int i=0;i<list.size();i++){
- System.out.println(list.get(i));
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
import com.ibatis.sqlmap.client.*;
import com.ibatis.common.resources.*;
import java.io.IOException;
import java.io.Reader;
import java.sql.SQLException;
import java.util.List;
public class Test {
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
String resource ="SqlMapConfig.xml";
Reader reader;
try {
reader = Resources.getResourceAsReader(resource);
SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);
List list= sqlMap.queryForList("getAllUsers", "Market");
for (int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
sqlMapClient的注入有多种,在实际开发中,可以和spring结合,在dao层注入
转载自: http://crazycat03.iteye.com/blog/537393