iBatis apache的一个开源项目,最大特点小巧,上手很快。如果不需要太多复制的功能, iBatis可以满足要求又足够灵活。 iBatis的一些优点: 1. ibatis把sql语句从Java源程序中独立出来,放在单独的XML文件中编写,给程序的维护带来了很大便利。 2. ibatis封装了底层JDBC API的调用细节,并能自动将结果集转换成Java Bean对象,大大简化了Java数据库编程的重复工作。 3. 简单易于学习,易于使用, 非常实用。 4. 因为Ibatis需要程序员自己去编写sql语句,程序员可以结合数据库自身的特点灵活控制sql语句,因 此能够实现比hibernate等全自动orm框架更高的查询效率,能够完成复杂查询。 5. 阿里巴巴、慧点科技等多家知名软件公司都使用Ibatis。 官网:http://ibatis.apache.org/ 搭建环境:导入相关jar包 配置文件: Jdbc连接的属性文件 总配置文件(sqlMapConfig.xml) 关于每个实体的映射文件(map文件) sqlMapConfig.xml <?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> <properties resource="SqlMap.properties"/> <transactionManager type="JDBC"> <dataSource type="SIMPLE"> <property value="${driver}" name="JDBC.Driver"/> <property value="${url}" name="JDBC.ConnectionURL"/> <property value="${username}" name="JDBC.Username"/> <property value="${password}" name="JDBC.Password"/> </dataSource> </transactionManager> <sqlMap resource="Student.xml"/> </sqlMapConfig> 映射文件 <?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> <typeAlias alias="Student" type="com.anker.bean.Student"/> </sqlMap> 读取配置 Reader reader = com.ibatis.common.resources.Resources .getResourceAsReader("com/anker/properties/SqlMapConfig.xml"); sqlMapClient = com.ibatis.sqlmap.client.SqlMapClientBuilder .buildSqlMapClient(reader); reader.close(); CRUD 借助SqlMapClient中的方法 queryForObject queryForList insert delete update 类注释 <typeAlias alias="Student" type="com.anker.bean.Student"/> 查询 <select id="selectAllStudents" resultClass="Student"> select * from Student </select> <select id="selectStudentById" parameterClass="int" resultClass="Student"> select sid,sname,score,major,birth from Student where sid = #sid# </select> 插入 <insert id="insertStudent" parameterClass="Student"> insert into Student( sid, sname, major, birth ) values( #sid#,#sname#,#major#,#score#,#birth# ) </insert> 删除 delete <delete id="deleteStudentById" parameterClass="int"> delete from Student where sid = #sid# </delete> 更新 <update id="updateStudentById" parameterClass="Student"> update Student set major = #major#, sname = #sname#, birth = #birth#, score = #score#, where sid = #sid# </update> 模糊查询 <select id="selectStudentByName" parameterClass="String" resultClass="Student"> select sid,sname,major,birth,score from Student where sname like #%sname%# </select>
Ibatis 框架基础
猜你喜欢
转载自yangeoo.iteye.com/blog/2203943
今日推荐
周排行