1.下载jar包:iBatis-common-2.jar,ibatis-sqlmap-2.jar导入工程。
2.这里使用MySql数据库,下载Mysql的驱动jar包导入工程。
3.src目录下创建sqlMapConfig配置文件
<?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> <transactionManager type="JDBC" > <dataSource type="SIMPLE"> <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/> <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/cyh"/> <property name="JDBC.Username" value="root"/> <property name="JDBC.Password" value="root"/> </dataSource> </transactionManager> <sqlMap resource="SqlMap.xml" /> </sqlMapConfig>transactionManager下的元素配置了连接数据库的信息。
sqlMap的resource属性指定了SQL映射文件的位置。
3.在src目录下创建SqlMap.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="getStudents" resultClass="hashmap"> select * from student </select> </sqlMap>这里配置了需要执行的sql语句。resultClass表明将每个查询结果封装成map对象返回。
4.java调用:
public class IbatisTest { public static void main(String[] args) throws IOException, SQLException { String resource = "sqlMapConfig.xml"; Reader reader = Resources.getResourceAsReader(resource); SqlMapClient sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader); List list = sqlMap.queryForList("getStudents", null); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } }
List list = sqlMap.queryForList("getStudents", null);
queryForList方法调用后将sql执行结果集封装成list返回,第一个参数是SqlMap.xml中的select元素的id,表明执行这个元素下的sql。
student表中的数据:
95001 张三 男 17 CS 95002 李四 女 19 IS 95003 王五 男 22 MA 95004 李四 男 20 IS
程序输出结果:
{Sage=17, Ssex=男, Sdept=CS, Sname=张三, Sno=95001}
{Sage=19, Ssex=女, Sdept=IS, Sname=李四, Sno=95002}
{Sage=22, Ssex=男, Sdept=MA, Sname=王五, Sno=95003}
{Sage=20, Ssex=男, Sdept=IS, Sname=李四, Sno=95004}