1、进入下载地址https://github.com/mybatis下载MyBatis架构的文件
2、MyEclipse中创建web项目SMBMS1
3、将以下三个文件复制粘贴到web项目下的WEB-INF下的bin目录下
4、通过MyEclipse导入刚才拷贝到工程里面三个包
选中项目名称后右键,选中Build Path,右键,选中Configuer Build Path,选择add JARS,项目下选中WEB-INF下的bin目录下文件后OK,这样就在工程里面加入了以上jar文件
5、为了方便学习,将mybatis-3.2.2.jar中的源文件导入
选中Referenced Library下面的mybatis-3.2.2.jar右键,选中properties,选中java source attachment,文件如果在workspase下,可以选择workspase location,不在则选择external location,如果文件解压了就选择external folder,没有解压就选择external file
6、相关配置文件的配置
在项目下面新建source folder(为什么建source folder,因为只有他才能被编译),目录下数据库配置文件复制进来,另外新建一个file文件名字为mybatis-config.xml,再将log4j.properties文件引入
打开mybatis-config.xml进行配置
将mybatis手册中的如下代码复制粘贴进来做为文件头
<?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">
引入配置文件头之后进行以下配置
<!-- 通过这个配置文件完成mybatis与数据库的连接 -->
<configuration>
<!-- 引入 database.properties 文件-->
<properties resource="database.properties"/>
<!-- 配置mybatis的log实现为LOG4J -->
<settings>
<setting name="logImpl" value="LOG4J" />
</settings>
<environments default="development">
<environment id="development">
<!--配置事务管理,采用JDBC的事务管理 -->
<transactionManager type="JDBC"></transactionManager>
<!-- POOLED:mybatis自带的数据源,JNDI:基于tomcat的数据源 -->
<dataSource type="POOLED">
<property name="driver" value="${driver}"/>
<property name="url" value="${url}"/>
<property name="username" value="${user}"/>
<property name="password" value="${password}"/>
</dataSource>
</environment>
</environments>
<!-- 将mapper文件加入到配置文件中 -->
<mappers>
<mapper resource="cn/smbms/dao/user/UserMapper.xml"/>
</mappers>
</configuration>
在添加配置文件的时候,每一种文件的配置代码有前后顺序的要求,可以进入design窗口,选中configuration右键add child选择对应的需要加入的配置文件标签名
6、在src下面建立两个包cn.smbms.pojo和cn.smbms.dao.user,在cn.smbms.pojo包下面建立User类,在cn.smbms.dao.user下建立UserMapper.xml,打开UserMapper.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="cn.smbms.dao.user.UserMapper">
<!-- 查询用户表记录数 -->
<select id="count" resultType="int">
select count(1) as count from smbms_user
</select>
</mapper>
在进行配置文件的时候为了保证代码正确,最好能有自动提示,可以引入对应配置文件的dtd文件,如引入mapper.dtd文件,首先找到这个文件,这个文件在mybatis-3.2.2.jar里面,将mybatis-3.2.2.jar解压后,找到mybatis-3.2.2—org—apache—ibatis—builder—xml里面有对应的文件mybatis-3-mapper.dtd,将头文件中的-//mybatis.org//DTD Mapper 3.0//EN复制,进入MyEclipse选择window—preferences,输入xml搜索,选择xml catalog,再选择user specified entries,选择location下的file system,选中mybatis-3-mapper.dtd确定,在key处输入-//mybatis.org//DTD Mapper 3.0//EN,OK
7、创建测试类
工程里面加入JUnit4,首先工程下建立source folder名为test,选中项目名—new—other—输入ju搜索—junit test case,在package下输入cn.smbms.dao.user,在Name下输入UserMapperTest,finish—选中junit4—OK
在UserMapperTest中输入以下代码
package cn.smbms.dao.user;
import static org.junit.Assert.*;
import java.io.IOException;
import java.io.InputStream;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.apache.log4j.Logger;
import org.junit.Before;
import org.junit.Test;
public class UserMapperTest {
private Logger logger = Logger.getLogger(UserMapperTest.class);
@Before
public void setUp() throws Exception {
}
@Test
public void test() {
String resource = "mybatis-config.xml";
int count = 0;
SqlSession sqlSession = null;
try {
//1 获取mybatis-config.xml的输入流
InputStream is = Resources.getResourceAsStream(resource);
//2 创建SqlSessionFactory对象,完成对配置文件的读取
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
//3 创建sqlSession
sqlSession = factory.openSession();
//4 调用mapper文件来对数据进行操作,必须先把mapper文件引入到mybatis-config.xml中
count = sqlSession.selectOne("cn.smbms.dao.user.UserMapper.count");
logger.debug("UserMapperTest count---> " count);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
sqlSession.close();
}
}
}
完成后,右键Run as—JUnit test,然后在consol中查看结果
[DEBUG] 2019-10-06 12:05:56,860 cn.smbms.dao.user.UserMapperTest - UserMapperTest count---> 12