@[TOC]王
Mybatis出现的原因
传统jdbc的缺点:
- 连接参数、sql语句的硬编码(将程序中的外部变量值,使用赋值语句写死在程序中,当需要修改时,要修改源码并重新编译)
- 数据库的频繁连接与断开
- 查询结果集取数据的硬编码
而Mybatis的出现大大避免了连接参数的硬编码问题,而采用xml的配置文件动态管理。
MyBatis的整体结构
- 数据源配置文件
- sql映射配置文件
- 会话工厂
- 会话
- 执行器以及底层封装的对象组成。
数据源配置文件
在Mybatis中数据源是配置在SqlMapConfig.xml文件中的,也是最重要的一部分(但是在后期与spring的整合中就不必如此配置了)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/你的数据库名?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="你的密码"/>
</dataSource>
</environment>
</environments>
</configuration>
这样在修改以后,配置文件就完成了
SQL映射配置文件
Mapper.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">
<mapper namespace="test">
<select id="findUserById" parameterType="int" resultType="javabean.UserBean">
select * from user where id=#{id}
</select>
</mapper>
上述代码为一个简单的查询操作,其中具体的参数简单说明一下parameterType为输入的参数类型,此题为id(编号)也就是int类型,resultType为输出的参数类型,此题为UserBean也就是用户类型
特别提示在配置完Mapper.xml后要配置到SqlMapConfig.xml中,要放在configuration标签中的最后面
<configuration>
....
<mappers>
<mapper resource="sqlmap/UserMapper.xml"/>
</mappers>
</configuration>
如上图所示就可
Mybatis运营流程
首先通过 SqlSessionFactory会话工厂 通过资源信息加载获取 SqlMapConfig.xml配置文件信息 ,然后产生交互会话的实例类SqlSession,Sqlsession根据Mapper.xml配置文件中的配置进行对应操作,之后通过执行器对数据库进行操作的。从而实现了Mybatis对数据库的操作。
初识Mybatis就先说到这了结尾为大家送上Mybatis3.4.1的jar包以及所需文件与环境配置
首先在myeclispe中新建一个web项目,然后进行配置,先上一个图,看一下大体结构,
提示在加入jar包的时候不光要在项目中的build中进行配置,还要把运用到的jar包复制到lib文件夹中
此项目运用mysql5.7环境,同时相对应的jar包都放在下面链接中,各位朋友们可以直接使用(如果不好用就找我,调不好就打我)
下载链接完全免费必须好用,点点点
提取码:0gch
就暂时先说到这了,我要继续学习Mybatis,如有错误欢迎各位大神批评指正。王小白在此欢迎你们!!!