读书人

iBatis总结

发布时间: 2012-07-02 17:46:22 作者: rapoo

iBatis小结
最近学了iBatis,感觉虽然没有Hibernate那么强大,可是用起来很方便灵活,同JDBC相比代码量大大减少,而且sql与java代码分离,便于维护和移植,基本环境配置如下
1.首先将相关的数据库驱动包和ibatis jar包引入
2.编写配置文件,主体配置文件SqlMapconfig.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>    <transactionManager type="JDBC">          <dataSource type="SIMPLE">              <property name="JDBC.Driver" value="com.mysql.jdbc.Driver" />             <property name="JDBC.ConnectionURL" value="jdbc:mysql://localhost:3306/ibatis" />             <property name="JDBC.Username" value="root" />             <property name="JDBC.Password" value="123456" />         </dataSource>     </transactionManager>   <sqlMap resource="com/lamp/Student.xml" /> <!-- 映射文件 --></sqlMapConfig>


然后是映射文件Student.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><!-- <resultMap id="Student" column="sid" /><result property="sname" column="sname" /><result property="major" column="major" /><result property="birth" column="birth" /></resultMap>          用了typeAlias就可以省略这些配置,javaBean的属性如上,并与数据库表student一一对应 --><typeAlias alias="Student" type="com.lamp.Student"/>         <!--查询所有学生--><select id="selectAllStudent" resultresultparameterparameterparameterparameterparameterresultparameterkeyProperty="sid">select @@IDENTITY as sid</selectKey>insert into student (sid,sname,major,birth)values(#sid#,#sname#,#major#,#birth#)</insert></sqlMap>

3.最后做测试,以查询所有学生为例
private static SqlMapClient sqlMap = null;//加载配置文件static{try {Reader reader = Resources.getResourceAsReader("com/lamp/SqlMapConfig.xml");sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader);  reader.close();} catch (IOException e) {e.printStackTrace();} }//方法如下public List<Student> queryAllStudent() {List<Student> studentList = null;try {studentList = sqlMap.queryForList("selectAllStudent");} catch (SQLException e) {e.printStackTrace();}return studentList;}

读书人网 >其他数据库

热点推荐