目录
使用Maven搭建MyBatis
不使用Maven的话,只需省略掉maven的所有步骤,(直接看4、导包)将我用maven导入的包,手动导入的项目中即可
-
2、创建一个数据库表
这里我的数据库叫MyWebsite,表名叫ssm,里面只有简单4个字段,id是主键
-
3、设置maven的导包方式为jar包
<!-- 设置导包方式为jar --> <packaging>jar</packaging>
-
4、导包
我们可以去官网根据文档配置mybatis
在入门中,可以看到maven的导包配置
先添加dependencies标签,然后在标签内将复制的内容粘贴,我们需要设置version的版本号,这里我选择最新版(将x.x.x删了然后按代码提示的快捷键即可)。
导入其他包 -
5、根据数据库创建实体类
-
6、创建实体类对应的数据访问接口和接口实现类
<?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>
<!--配置环境
我们一般会设置两个environment,一个用户开发环境,使用id为development,一个用于正式环境使用id为final
JDBC – 声明使用jdbc方式来提交和回滚事务,依赖于从数据源得到的连接来管理事务范围。
POOLED – 声明使用数据库连接池,从而避免频繁的创建和销毁链接造成资源的浪费
-->
<!-- environments的default属性指定
当前使用哪个environment作为MyBatis使用的环境-->
<environments default="development">
<!--配置一个环境,可有多个,一次只能使用一个,使用哪个取决于上面default指定了哪个id,执行对应id的环境-->
<environment id="development">
<!--指定事务处理类型为JDBC的方式-->
<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>
</environments>
<!--指定dao的配置文件位置,每一个dao都需要配置一个独属于它的配置文件,这里就是告诉主配置文件,运行指定dao的方法时,来这里找配置文件-->
<mappers>
<mapper resource="org/mybatis/example/BlogMapper.xml"/>
</mappers>
</configuration>
-
8、配置连接池
我们可以看到上面连接池value中写的都是${字段名}的形式,这是推荐我们使用外部引入的方式配置连接池,因为如果将内容全部写在配置文件中,就会有耦合性,而尽可能消除耦合,才是好的开发模式
-
9、映射sql的配置文件
我们每一个dao接口都有一个对应的配置文件,将sql语句映射,在我们以前使用原生的jdbc时,写了一大堆重复的代码,只为了执行一句sql语句,所以,Mybatis就是帮我们省略了重复的代码,只写一句sql就完成以前的功能,只需要将sql配置在xml文件中即可 -
10、测试
首先,你如果使用了日志功能,导入了log4j的包,那么,说明你是一个严谨的人,但是使用日志,需要一个配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<param name="Encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n" />
</layout>
</appender>
<logger name="java.sql">
<level value="debug" />
</logger>
<logger name="org.apache.ibatis">
<level value="info" />
</logger>
<root>
<level value="debug" />
<appender-ref ref="STDOUT" />
</root>
</log4j:configuration>
前面编辑隐射文件时,怕大家不注意,所以放在这里说一个很重要的事,我们除了指定sql语句,还要指定每一条记录的类型
编写测试类