MyBatis
快速入门
依赖如图
<dependencies> <!-- mybatis依赖--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.5</version> </dependency>
<!-- mysql驱动--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version> </dependency>
<!-- junit单元测试--> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.13</version> <scope>test</scope> </dependency>
<!-- 添加slf4j日志api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.20</version> </dependency> <!-- 添加logback-classic依赖 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.2.3</version> </dependency> <!-- 添加logback-core依赖 --> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>1.2.3</version> </dependency> </dependencies>
2.2 创建 MyBatis 的核心配置文件
习惯上命名为 mybatis-config.xml ,这个文件名仅仅只是建议,并非强制要求。 将来整合 Spring 之后,这个配置文件可以省略,所以操作时可以直接复制、粘贴。 核心配置文件主要用于配置连接数据库的环境以及 MyBatis 的全局配置信息。 核心配置文件存放的位置是 src/main/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"> <configuration> <!-- 设置连接数据库的环境 --> <environments default="development"> <environment id="development"> <transactionManager type="JDBC"/> <dataSource type="POOLED"> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/myBatis"/> <property name="username" value="root"/> <property name="password" value="123456"/> </dataSource> </environment> </environments> <!-- 引入映射文件 --> <mappers> <mapper resource="mappers/UserMapper.xml"/> </mappers> </configuration>
首先记得改动配置信息
-
url的是数据库的名称
-
username
-
password
在他的同目录下创建UserMapper.xml文件,内容如下图
3
修改mybatis xml文件下的映射文件-
4 Mapper代理
4.1
首先放置到同一目录下,resources建立同usermapper接口一样的目录
记得用 / 分割
4.2
修改namespace为接口的名字
4.3
接口里写简要方法
4.4
修改SQL映射文件
4.5
运行代码
package com.heima; import com.heima.Mapper.UserMapper; import com.heima.POJO.User; 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 java.io.IOException; import java.io.InputStream; public class demon1 { public static void main(String[] args) throws IOException { // 读取 MyBatis 的核心配置文件 InputStream is = Resources.getResourceAsStream("mybatis-config.xml"); // 创建 SqlSessionFactoryBuilder 对象 SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder(); // 通过核心配置文件所对应的字节输入流创建工厂类 SqlSessionFactory ,生产SqlSession 对象 SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is); SqlSession sqlSession = sqlSessionFactory.openSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); for (User user : mapper.selectAll()) { System.out.println(user); } sqlSession.close(); } }
4.6
mapper过多的话,加载映射要简化,使用包扫描,直接看包,如下图