mybatis学习一

Mybatis实际上就是一个JDBC的一个简化器,通过mybatis的配置,从而消除了繁杂的jdbc代码,并且实现了数据库查询的半自动化。其主要的工作流程为:

1)读取 MyBatis 配置文件:mybatis-config.xml 为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息,例如数据库连接信息。

2)加载映射文件。映射文件即 SQL 映射文件,该文件中配置了操作数据库的 SQL 语句,需要在 MyBatis 配置文件 mybatis-config.xml 中加载。mybatis-config.xml 文件可以加载多个映射文件,每个文件对应数据库中的一张表。

3)构造会话工厂:通过 MyBatis 的环境等配置信息构建会话工厂 SqlSessionFactory

4)创建会话对象:由会话工厂创建 SqlSession 对象,该对象中包含了执行 SQL 语句的所有方法。

5)Executor 执行器:MyBatis 底层定义了一个 Executor 接口来操作数据库,它将根据 SqlSession 传递的参数动态地生成需要执行的 SQL 语句,同时负责查询缓存的维护。

6)MappedStatement 对象:在 Executor 接口的执行方法中有一个 MappedStatement 类型的参数,该参数是对映射信息的封装,用于存储要映射的 SQL 语句的 id、参数等信息。

7)输入参数映射:输入参数类型可以是 Map、List 等集合类型,也可以是基本数据类型和 POJO 类型。输入参数映射过程类似于 JDBC 对 preparedStatement 对象设置参数的过程。

8)输出结果映射:输出结果类型可以是 Map、 List 等集合类型,也可以是基本数据类型和 POJO 类型。输出结果映射过程类似于 JDBC 对结果集的解析过程。
---------------

这里要说明一下上述文件的作用以及要求:

①mybatis-config.xml文件对数据库连接的环境、密码等进行了配置,并且可以添加mapper属性,其中,一个mapper就相当于一个与特定的POJO对象所对应的数据表操作集(增删改查)。

②每一个mapper.xml文件都对应着一个数据库表以及一个POJO对象,并且数据表的属性与POJO的属性名、类型都应该一样,以便让mybatis进行类型的的自动装载,进而自动的实现对象的持久化。

③一个sqlsession就相当于原本的JDBC中的一个connector对象,通过这个sqlsession来调用mapper文件中的id属性的值来执行一次或若干次数据库操作,相当于一次execute。

④mapper文件中结构可以像这样:

<!-- 这里,id属性的值就相当于一个sql语句名,sqlsession可以可以直接通过该id查询数据库  -->
    <!-- 根据uid查询一个用户信息 -->
    <select id="selectUserById" parameterType="Integer"
        resultType="com.mybatis.po.MyUser">
        select * from user where uid = #{uid}
    </select>

有多种属性标签对,如上述的<select></select>,还有<insert></insert>,<update></update>等等,详情可见官方文档。

总而言之,每一种标签对都是一种数据库的操作。可以看到还有id属性、parameterType属性,id属性就相当于JDBC中的一个sql字符串名,slqsession通过这个id值来执行这个语句。parameterType属性则是调用的时候传入值的类型。

同时还可以看到在sql语句中出现了“#{}”样式的字符,这是一个占位符,#{uid}表示这是一个外传入的参数,其属性名为uid,正好对应说明②中的与POJO属性名相同。

resultType则是返回值的类型了。

---------------------------------------------------------------

在这里插入第一个mybatis测试项目:

1)项目结构

 

2)mybatis-config.xml文件详情

3)测试POJO类型详情

 

4)测试POJO类的映射类mapper

 

5)POJO对应的数据库设计

 

--------------------------

运行图:

 

----------------

到此为止,第一个mybatis测试项目最基础的完成了,待更。。。。

 

参考文献

http://c.biancheng.net/view/4309.html    mybatis学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值