标签:
1、什么是Mybatis
Mybatis最早源自Apache基金会的一个开源项目iBatis,2010年这个项目由Apache software foundation迁移到了google code,并且改名为Mybatis;
Mybatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。
Mybatis封装了几乎所有的JDBC代码和参数的手工配置以及结果集的检索;
Mybatis使用简单的XML或注解做配置和定义映射关系,将Java的POJO(Plan Old Java Objects)映射成数据表中的记录。
2、Mybatis体系结构
1)加载配置
2)SQL解析
3)SQL执行
4)结果映射
3、Mybatis的配置文件包含下面两种类型
1)SqlMapConfig.xml(1个)
主配置文件,用于指定数据库连接参数和框架参数
2)SqlMap.xml(n个)
映射定义文件,用于定义SQL语句和映射信息
4、Mybatis配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-config.dtd"> <configuration> <environments default="environment"> <environment id="environment"> <transactionManager type="JDBC" /> <dataSource type="POOLED"> <property name="driver" value="oracle.jdbc.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@192.168.160.253:1521:orcl" /> <property name="username" value="openlab" /> <property name="password" value="open123" /> </dataSource> </environment> </environments> <!-- 引入 Dept.xml 配置 --> <mappers> <mapper resource="com/tarena/entity/Dept.xml"/> </mappers> </configuration>
<?xml version="1.0" encoding="UTF-8" ?> <!-- Dept.xml 在com.tarena.entity 包中 --> <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd"> <!-- namespace 的值是 DeptMapper 接口 每个Mapper 接口对应一个配置文件 --> <mapper namespace="com.tarena.entity.DeptMapper"> <insert id="addDept" parameterType="com.tarena.entity.Dept"> <selectKey keyProperty="deptno" order="BEFORE" resultType="int"> select SEQ_T_DEPT.nextval from DUAL </selectKey> insert into T_DEPT (deptno, dname, loc) values (#{deptno}, #{dname}, #{loc}) </insert> <delete id="deleteDept" parameterType="com.tarena.entity.Dept"> delete from T_DEPT where deptno = #{deptno} </delete> <select id="findDeptById" parameterType="java.lang.Integer" resultType="com.tarena.entity.Dept"> select deptno,dname,loc from T_DEPT where deptno=#{deptno} </select> <update id="updateDept" parameterType="com.tarena.entity.Dept"> <!-- #{deptno} 读取参数的Bean属性 --> update T_DEPT set dname=#{dname}, loc = #{loc} where deptno=#{deptno} </update> <!-- 注意resultType 的值是List中元素类型 结果集行映射的数据类型--> <select id="findAllDept" resultType="com.tarena.entity.Dept"> select deptno, dname, loc from T_DEPT </select> <select id="findDeptByLoc" parameterType="java.lang.String" resultType="com.tarena.entity.Dept"> select deptno, dname, loc from T_DEPT where loc=#{loc} </select> <select id="findAllDname" parameterType="java.lang.String" resultType="java.util.Map"> select dname from T_DEPT where loc=#{loc} </select> </mapper>
5、简单框架API简介
在使用Mybatis框架时,主要涉及以下几个API
SqlSessionFactoryBuilder
该对象负责根据Mybatis配置文件SqlMapConfig.xml构建SqlSessionFactory实例
SqlSessionFactory
每一个Mybatis的应用程序都以一个SqlSessionFactory对象为核心。该对象负责创建SqlSession对象实例
SqlSession
该对象包含了所有执行sql操作的方法,用于执行已映射的SQL语句
标签:
原文地址:http://www.cnblogs.com/Crow00/p/mybatisbasic.html