IBatis是一种半自动化的ORM解决方案,而Hibernate是一种全自动的ORM解决方案。iBatis小巧而且灵活。开发iBatis的项目需要导入数据库的驱动jar包和ibatis的相关jar包。需要写三个文件:一是,JDBC连接属性文件;二是,总配置文件;三是,关于每个实体的映射文件。这三个文件可以放在src下面的同一个包中。
所谓“半自动化”是相对Hibernate提供了全面的数据库封装机制的“全自动化”ORM 实现而言,“全自动”ORM 实现了 POJO 和数据库表之间的映射,以及 SQL 的自动生成和执行。而ibatis 的着力点,则在于POJO 与 SQL之间的映射关系。也就是说,ibatis并不会为程序员在运行期自动生成 SQL 执行。具体的 SQL 需要程序员编写,然后通过映射配置文件,将SQL所需的参数,以及返回的结果字段映射到指定 POJO。使用ibatis 提供的ORM机制,对业务逻辑实现人员而言,面对的是纯粹的 Java对象,这一层与通过 Hibernate 实现 ORM 而言基本一致,而对于具体的数据操作,Hibernate 会自动生成SQL 语句,而ibatis 则要求开发者编写具体的 SQL 语句。ibatis 以 SQL开发的工作量和数据库移植性上的让步,为系统设计提供了更大的自由空间,是“全自动”ORM实现的一个很好的补充。
SqlMap.properties文件(此处为MySql数据库连接属性文件,可根据不同数据库另行设定):
driver=com.mysql.jdbc.Driver //数据库驱动对象
url=jdbc:mysql://localhost:3306/test //数据库URL,其中test为自定义数据库名字
username=root //用户名
password=123456 //用户密码,根据实际情况设定
SqlMapConfig.xml总配置文件(此例只有一个映射文件Student.xml,根据实际情况可以设定多个):
Student.xml映射文件:
CRUD借助于SqlMapClient中的方法:queryForObject、queryForList、insert、delete、update