1,关于实现:
ibatis属于半ORM的持久层框架,不同于mybatis框架的是,ibatis框架还需要我们写持久层的接口的实现类,在此实现类中直接调用getSqlMapClientTemplate()方法的增删改查方法进行数据的持久化操作。在增删改查比如insert操作中,insert()方法的参数有两个,第一个是字符串,第二个是service层传进来的参数,例如insert(“IMAGESQL.insert”,image),其中IMAGESQL是一般是pojo类映射的xml文件的前缀,也就是此xml文件里面标签的namespace属性值。这样有利于我们在DAO层的实现类中进行搜索此xml文件。写好这些后还要进行service层的编写,首先编写service的接口以及定义相应的方法,再写其实现类以及实现所有的方法,由于在此实现类中实现方法时一般需要调用dao层的方法,故需要dao的一个对象,这个对象不是其实现类,二是接口本身,即用dao接口来声明此对象,但是值得注意的是要设置这个私有对象的至少set()方法。这样才能实现实例化。在Controller中使用service对象时也需要进行set()方法的定义,当然也可以使用注解的方式。
2,关于配置:
首先要在xxx-dao.xml中的标签中声明一个,形如:
"**<bean** id = "dao接口的类名字,但是首字母要小写" class = "dao接口的实现类的类路径" parent = "sqlMapClientDaoSupport">
</bean>"
其次要在xxx-service.xml中配置一个<bean>,形如:
"<bean id = "service接口的接口名,首字母小写" class = "service接口的实现类的类路径" autowire = "byName">
<property name = "上面dao.xml中的id值" ref = "上面dao.xml中的id值"></property>
</bean>"
最后,如果数据库使用的是DB2数据库,则还需要在sql-map-config-db2.xml中完成最后一个配置。形如:
"<sqlMap resource = "sqlmap/db2/xxxSQL.xml"/>,即resource对应的是pojo类对应的那个sql.xml文件的文件名。"