前言
对于上次笔记我个人认为不够直观,不能够达到很好的观看效果,加上之前笔记做的有点久了,自己也有点忘记,这次的笔记我打算重新整理,让这次的笔记整理的能够更加的透彻。
myBatis的入门
1.需要的预备知识
1.对java的jdbc能够熟练掌握
2.接触过dao层(持久层)封装,也应该熟练掌握,这样会更好的理解(因为尝试过写dao的痛苦后才能知道myBatis的甜头,以及为什么要这么做)
3.对三层有一定的了解(这个不一定要知道,不影响学习myBatis,但是现在开发模式都是这样,不知道也得知道)
4.至少了解mysql数据库,对sql语句能够熟练掌握(说实话不知道数据库,这个框架没有理由学下去,因为这个框架就是封装了对数据的持久化,让程序与数据库交互更加便捷与方便)
说实话上面的几点只要知道最后一点,花点时间也不是不可能掌握的。
2.需要准备的文件
1.需要的jar包有以下三个
log4j.jar(不要也可以跑,建议加上只有好处没坏处)
mybatis-3.x.x.jar
mysql-connector-java-5.1.x.jar
2.需要的xml文件有如下
log4j.xml
mybatis-config.xml
xxxMapper.xml(该文件用来写sql映射接口方法,可自定义名称)
有了以上准备就可以着手学习myBatis了
mysql-config.xml文件介绍
我不会把该配设文件的全部信息列出来,我只把关键主要的结构一一介绍
1.configuration:
<configuration>..</configuration><!--这里是该配设文件的"总管",相当于html的<html>标签-->
2.properties:
<properties>
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test" />
<property name="username" value="root" />
<property name="password" value="root" />
</properties>
3.environment、transactionManager、dataSource
<environment id="mysql">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="${driver}" />
<property name="url" value="${url}" />
<property name="username" value="${username}" />
<property name="password" value="${password}" />
</dataSource>
</environment>
以上就是对数据库连接信息的一个配设文件的基本设置了,我们看到第一个节点properties的四个子节点的name分别是数据库连接信息的四个必要信息:driver、url、username、password, 在这之后连接信息就已经配设好了,之后再用environment下的dataSource对连接池进行动态配设,可以把environment看成是一个环境,环境的id是mysql,下面的transactionManager则为事务,其中的type则是jdbc事务类型。最后可以看到最重要的dataSource节点,这个是获取连接的信息的主要节点,通过property标签value的${driver}的形式获取name为driver的value,其中的type属性可以为UNPOOLED、POOLED、JNDI,这里用的是POOLED,是使用mybatis框架自己的连接池,就不一一介绍每个的意思了。
这里还可以通过properties标签的resource属性导入.properties文件来实现
<properties resource="config/database.properties"></properties>
<environments default="mysql">
<environment id="mysql">
<!--指定事务管理的类型,这里简单使用Java的JDBC的提交和回滚设置-->
<transactionManager type="JDBC"></transactionManager>
<!--dataSource 指连接源配置,POOLED是JDBC连接对象的数据源连接池的实现-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</dataSource>
</environment>
</environments>
4.mappers、mapper、package
<mappers> <!--这是告诉Mybatis区哪找持久化类的映射文件,对于在src下的文件直接写文件名,如果在某包下,则要写明路径,如:com/supermarket/dao-->
<package name="com/supermarket/dao"/>
<!--mapper resource="config/ProviderMapper.xml"></mapper-->
</mappers>
需要注意的是包下的xml映射文件需要放在与接口同一包下,如果不是放在包下,那么config文件夹必须和src同级,这里说的映射文件会在我的下一篇文章中介绍,希望能够帮助到大家,谢谢。
<?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>
<properties resource="config/database.properties"></properties>
<!--环境配置,连接的数据库,这里使用的是MySQL-->
<environments default="mysql">
<environment id="mysql">
<!--指定事务管理的类型,这里简单使用Java的JDBC的提交和回滚设置-->
<transactionManager type="JDBC"></transactionManager>
<!--dataSource 指连接源配置,POOLED是JDBC连接对象的数据源连接池的实现-->
<dataSource type="POOLED">
<property name="driver" value="${driver}"></property>
<property name="url" value="${url}"></property>
<property name="username" value="${username}"></property>
<property name="password" value="${password}"></property>
</dataSource>
</environment>
</environments>
<mappers> <!--这是告诉Mybatis区哪找持久化类的映射文件,对于在src下的文件直接写文件名, 如果在某包下,则要写明路径,如:com/mybatistest/config/User.xml-->
<!--mapper resource="ProviderMapper.xml"></mapper-->
<package name="com.supermarket.dao"/>
</mappers>
</configuration>
以上是我配的一个完整xml代码
如果需要资料可以联系我的邮箱:[email protected]