Mybatis框架是使用与注意事项

  当前在学习Mybatis框架和spring框架,Mybatis是一个半自动化的持久化框架,这一个框架是专门是对dao层的简化,最早在学习的时候使用的是原生态的硬代码的JDBC十分的繁琐(打的多,又要手动配置数据源,还要创建对应的实现类执行sql语句并返回)并且不够灵活,

在学习完以后Mybatis与spring,写此博客进行总结

  1.下载Mybatis框架的jar包并导入 (可以在 http://hihub.com/mybatis/mybatis-3/releases 下载,推荐下载mybatis-3.2.2.zip并解压导入到项目中)

  

  因为我使用的是web项目来进行练习学习,所以把包放在了WEB-INF里

  2.创建Mybatis核心配置文件configuration.xm

  l

  其中在文件中有几个常用元素

  (1).configuration:配置文件的根元素节点

  (2).properties:通过resource属性从外部指定properties属性文件(属性文件里写入数据库驱动,连接数据库的url,数据库用户名,数据库密码)

  (3).setting:可以设置Mybatis运行中的一些行为,我是默认设置成LOG4J,即使用log4j实现日志功能.

  (4).environment:可以设置一套Mybatis的运行环境,需要指定运行环境ID,事务管理,数据源配置等相关信息,(.environments可以设置多套Mybatis运行环境,并通过default指定)

  (5).mapper:指定映射文件也可以创建多个标签指定多个映射文件(其中的子元素节点mappers是具体写入映射文件的路径)

  

  3.创建持久化类(POJO),用于封装属性,其实就是实体类

  4.创建SQL映射文件

  

  并且对应的SQL语句有对应的元素,查询为<select>,插入为<insert>,删除为<delete>,更新为<update>

  文件中根元素的namespace是用于区分不同的mapper,全局唯一,在调用的时候也有使用

  select元素的id属性是该命名空间下的唯一标识,也就是标识此selec元素

  resultType表示SQL语句的返回类型,其中增删改默认是返回受影响行数(int)所以可以不用添加此属性

  parameterType属性是指定从哪个实体类中获得SQL语句的参数

  还要很多属性,因为不常用,所以不 一 一 解释

  并且Mybatis的映射文件还支持动态SQL语句,通过逻辑元素标签来进行动态SQL语句拼接

  <!--如上图所示-->

  以上完成了就可以进行测试了.

  我们要使用到Mybatis核心类与接口

  SqlsessionFactoryBuilder(用过即丢,只要创建了SqlsessionFactory对象,他就没有用了)

  SqlsessionFactory(创建SqlSession的实例工厂,他一旦创建就会在整个应用运行过程始终存在)

  Sqlsession(用于执行持久化操作的实例对象,他是对应的一次数据库对话,但是对话不是永久的,所以他的生命周期也不是永久的,并且有关闭他的方法)

  他们的关系是层层梯进的

  然后再用Sqlsessionfactory的openSession()来生成Sqlsession

  然后就可以调用Sql映射文件的Sql语句了,再用返回的类型来接收,然后就可以进行其他操作了.

  

  <!--注意事项-->

  SQL映射文件要与实现接口放在同一个包下,要不然会报错.

  SQL映射文件中根元素的namespace要与dao接口的名称相同,要从dao接口的所在包到dao接口的名称都要写进去

  SQL映射文件的SQL元素标签的id属性的值要与dao接口的实现类名称相同

  通过sqlsession的getMapper方法来执行sql语句

  其他的还没发现,有望大佬补充

                                             by:DAL丶wuki

                                             第一次写博客,写的不好,如果您看到了这篇博客有不足的请提出了,我会改正.

  

猜你喜欢

转载自www.cnblogs.com/linzhangquan/p/9454361.html