小伙伴们肯定都知道mybatis吧,那你们知道mybatis是如何执行的吗?下面小编就为你讲解一下mybatis的执行流程吧。
mybatis执行流程分析
XML配置文件编写 -------> XML映射文件编写 -------> 编码
一、XML配置文件与XML映射文件编写
1)、mybatis-config.xml
< ? xml version = "1.0" encoding = "UTF-8" ? > < !DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration> <!--一个配置文件中可以配置多个数据库连接环境,default用来指定默认使用的数据库环境--> <environments default="oracle"> <!--id用来唯一标识每个数据库环境--> <environment id="oracle"> <!--这个配置就是直接使用了JDBC的提交和回滚设置--> <transactionManager type="JDBC" /> <!--使用mybatis内置的简单数据库连接池对connection进行管理--> <dataSource type="POOLED"> <!--JDBC四要素--> <property name="driver" value="oracle.jdbc.driver.OracleDriver" /> <property name="url" value="jdbc:oracle:thin:@//127.0.0.1:1521/orcl" /> <property name="username" value="scott" /> <property name="password" value="tiger" /> </dataSource> </environment> </environments> </configuration>
2)、city.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!--namespace,命名空间,用来对多个映射文件中相同的SQL进行区分,功能类似于Java中的package概念--> <mapper namespace="CityMapper"> <!--返回类型--> <select id="findById" resultType="com.turing.bean.City"> select * from city where id=#{id} </select> </mapper>
city.xml映射文件编写完以后,需要在mybatis-config.xml配置文件尾部增加如下信息:
</environments> <mappers> <!--注册映射文件,告诉mybatis到哪里去找这些sql语句--> <mapper resource="com/turing/mapper/city.xml"/> </mappers> </configuration>
二、代码实现
public static void main(String[] args) throws IOException { //依据配置文件制定的信息实例化会化工厂 InputStream in = Resources.getResourceAsStream("mybatis-config.xml"); SqlSessionFactory factory = new SqlSessionFactoryBuilder() .build( in ); //开启会话 SqlSession session = factory.openSession(); //调用session提供的API,传入SQL的id和参数 City city = session.selectOne("CityMapper.findById", 4); System.out.println(city); //关闭会话 session.close(); }
以上就是mybatis执行流程全部内容,如果小伙伴们还要疑问,可以关注我们的网站来了解其他mybatis常见问题。
推荐阅读:
mybatis转义字符有哪些?mybatis动态SQL要如何编写?