mybatis的配置

MyBatis 框架

MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

一、添加maven依赖

<dependencies>
	/* 测试依赖*/
	<dependency>
		<groupId>junit</groupId>
		<artifactId>junit</artifactId>
		<version>4.11</version>
		<scope>test</scope>
	</dependency>

	/* mybatis依赖*/
	<dependency>
		<groupId>org.mybatis</groupId>
		<artifactId>mybatis</artifactId>
		<version>3.5.1</version>
	</dependency>
	
	<dependency>
		<groupId>mysql</groupId>
		<artifactId>mysql-connector-java</artifactId>
		<version>5.1.9</version>
	</dependency>
</dependencies>

添加maven插件

<build>
	<resources>
		<resource>
			<directory>src/main/java</directory> <!--所在的目录-->
			<includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
				<include>**/*.properties</include>
				<include>**/*.xml</include>
			</includes>
			<filtering>false</filtering>
		</resource>
	</resources>
	
	<plugins>
		<plugin>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.1</version>
			<configuration>
				<source>1.8</source>
				<target>1.8</target>
			</configuration>
		</plugin>
	</plugins>
</build>

二、编写Dao接口Mapper映射文件 xxx.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">
  <!-- namespace:dao接口的全限定名称-->
<mapper namespace="org.mybatis.example.BlogMapper">
	<!-- id: dao 接口中方法名称
		resultType:查询语句的返回结果数据类型的全限定类名-->
  <select id="selectBlog" resultType="Blog">
    select * from Blog where id = #{id}
  </select>
</mapper>

三、编写MyBatis主配置文件mybatis-config.xml

<?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">
  
  <!-- 加入日志配置,可以在控制台输出执行的 sql 语句和参数 -->
<settings>
	<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>

<configuration>
	<!-- default:使用的数据库环境 -->
  <environments default="mysql">
  	<!-- id:数据源的名称 -->
    <environment id="mysql">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}"/>
        <property name="username" value="${jdbc.username}"/>
        <property name="password" value="${jdbc.password}"/>
      </dataSource>
    </environment>
  </environments>
  
  <mappers>
  	<!--dao接口映射文件的位置-->
    <mapper resource="org/mybatis/example/BlogMapper.xml"/>
  </mappers>
</configuration>

创建 properties 文件

在 resources 目录创建 jdbc.properties 文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssm
jdbc.username=root
jdbc.password=123456

四、使用mybatis

public void testInsert() throws IOException {
	//1.mybatis 主配置文件
	String config = "mybatis-config.xml";
	//2.读取配置文件
	InputStream in = Resources.getResourceAsStream(config);
	//3.创建 SqlSessionFactory 对象
	SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
	//4.获取 SqlSession
	SqlSession session = factory.openSession();
	
	//最后关闭
	session.close();
}

创建MyBatisUtil 类

public class MyBatisUtil {
	//定义 SqlSessionFactory
	private static SqlSessionFactory factory = null;
	static {
		//使用 静态块 创建一次 SqlSessionFactory
		try{
		String config = "mybatis-config.xml";
		//读取配置文件
		InputStream in = Resources.getResourceAsStream(config);
		//创建 SqlSessionFactory 对象
		factory = new SqlSessionFactoryBuilder().build(in);
	}catch (Exception e){
		factory = null;
		e.printStackTrace();
	}
}
/* 获取 SqlSession 对象 */
public static SqlSession getSqlSession(){
	SqlSession session = null;
	if( factory != null){
		session = factory.openSession();
	}
		return session;
	}
}

五、分页查询

(1)添加依赖

<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>5.1.10</version>
</dependency>

(2)加入plugin 配置

<!-- 在<environments>之前加入 -->
<plugins>
	<plugin interceptor="com.github.pagehelper.PageInterceptor" />
</plugins>
原文地址:https://www.cnblogs.com/z-tao/p/12981221.html