Myeclipse 配置 Mybatis 框架 jar 包操作(1)


注:【网页版】右上方的悬浮框( 有目录索引 )
此遍文章中版本号有所差别,仅为示例参考
下一篇章:Myeclipse 中 Mybatis 框架,测试类升级及 mybatis-config.xml 核心文件配置


一、下载并配置 jar 包

  • jar 包放置在 WebRoot —— WEB-INF —— lib 下

1-1】下载

jar 包 说明
mybatis-3.2.2.jar 位于 mybatis-3.5.1 下。mybatis-3.5.1 可以至 github 中下载
log4j-1.2.16.jar 位于 mybatis-3.5.1 下 lib 文件夹中
mysql-connector-java-5.1.0-bin.jar 可以至 MySQL 官网 下载

github
选择 mybatis -3 进入 releases 查看历史版本。点击 Assets 折叠面板中的下载连接。
下载 MyBatis 构架示例图
下载第一个就好了。其它的是不同压缩版本的源码

此外还需要数据库连接驱动包
下载 连接数据库 jar 包示例图
进入官网,选择 网页下方的 MySQL Community (GPL) Downloads »
这里不仅可以下载驱动包,还可以下载数据库服务器 网址直达
我们要的是 java 驱动包,所以选择 Connector/J 然后再点击 Looking for previous GA versions? 选择所需版本进行下载

1-2】配置(可跳过)

项目右键 选择 Build Path —— Configure Build Path…
配置 jar 包
如果你有在下载 MyBatis 时,下载源码的话。你可以在此鼠标右键进入属性。这样就可以在工程中看到源码
工程是加入 MyBatis 源码


在进行编写时先创建好整体构架
项目右键创建资源包:resources、test


二、编写 ***.properties 配置文件

  • 位于 新建的 resources 资源包下

2-1】database.properties

# 连接数据库 驱动
driver=com.mysql.jdbc.Driver
# 连接数据库 URL、?后面是为了防止数据库操作时出现乱码
url=jdbc:mysql://127.0.0.1:3306/smbms?useUnicode=true&characterEncoding=utf-8
# 连接数据库 密码
user=root
# 连接数据库 用户名
password=root

2-2】log4j.properties

log4j.rootLogger=DEBUG,CONSOLE,file
log4j.logger.cn.smbms.dao=debug
log4j.logger.com.ibatis=debug 
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug 
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug 
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=debug 
log4j.logger.java.sql.Connection=debug 
log4j.logger.java.sql.Statement=debug 
log4j.logger.java.sql.PreparedStatement=debug 
log4j.logger.java.sql.ResultSet=debug 
log4j.logger.org.tuckey.web.filters.urlrewrite.UrlRewriteFilter=debug

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=error
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern= [%p] %d %c - %m%n

log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern=yyyy-MM-dd
log4j.appender.file.File=log.log
log4j.appender.file.Append=true
log4j.appender.file.Threshold=error
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-M-d HH:mm:ss}%x[%5p](%F:%L) %m%n

log4j.logger.com.opensymphony.xwork2=error  

三、userMapper.xml 配置

  • 先在 src 下建立 com.debj.mapper.UserMapper.java 这个接口
package com.debj.mapper;

public interface UserMapper {
	/**
	 * 返回总消息条数
	 * @return Long
	 */
	public Long count();
}
  • 在下载的 mybatis-3.5.1 中有 mybatis-3.5.1.pdf 【官方文档】右上角页码为 4 的页面中有userMapper.xml 文件基本配置信息
  • 位于 —— 新建的 resources / static 文件夹
<?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">

<!-- Ctrl + 左键,点击 com.debj.mapper.UserMapper 可以成功跳转,则此行代码块成功 -->
<mapper namespace="com.debj.mapper.UserMapper">
	<!-- 查询用户表记录数 -->
	<select id="count" resultType="int">
		select count(1) as count from smbms_user
	</select>
</mapper>

四、mybatis-config.xml

  • 【官方文档】右上角显示 第3页有 mybatis-config.xml 基本配置信息
  • 之所以写在 ***Mapper.xml 之后是 为了防止在 此 xml 中遗忘配置 mapper
  • 位于 resources 资源包下
<?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>
		<!-- Ctrl + 左键,点击 static/userMapper.xml 可以成功跳转,则此行代码块成功 -->
		<mapper resource="static/userMapper.xml"/>
	</mappers>
</configuration>

五、xml 文件无提示,手工引入 dtd 文件<示例>(可跳过)

mybatis-3.5.1.jar 在 压缩软件 中打开以下目录【 mybatis-3.5.1.jar\org\apache\ibatis\builder\xml 】,需要2个 dtd 文件。放置位置根据个人喜好
在这里插入图片描述
复制选中文本
在这里插入图片描述
选择 window - 属性。
在这里插入图片描述
我这边未在工作空间中选择,在磁盘的某个位置中选择的文件
在这里插入图片描述
Key:即是之前复制的内容【 -//mybatis.org//DTD Config 3.0//EN
***Mapper.xml 配置信息,同上

六、测试类

点击 Finish —— OK
包右键新建 Other… 【JUnit Test Case】
在这里插入图片描述

package com.debj.testMapper;

import java.io.IOException;
import java.io.InputStream;

import org.junit.Test;
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;
public class TestUserMapper {

private Logger logger = Logger.getLogger(TestUserMapper.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("com.debj.mapper.UserMapper.count");
			logger.debug("UserMapperTest count---> " + count);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			sqlSession.close();
		}
	}
}

七、总结

7-1】整体架构

整体架构

7-2】易错点

  • jar 包版本问题,导致 new SqlSessionFactoryBuilder().build(is); 报错
  • xml 配置路径有问题,出现org.apache.ibatis.logging.LogFactory - Logging initialized using 'class org.apache.ibatis.logging.log4j.Log4jImpl' adapter.

猜你喜欢

转载自blog.csdn.net/ice_debj/article/details/104679462