MyBatis是一款优秀的持久层框架;JavaEE的三层架构;表现层、业务层、持久层;;用于简化JDBC开发;原始JDBC开发的缺点;硬编码、操作繁琐;;官网链接为; link.本文将以最简单易懂的方式教你快速创建MyBatis项目。
写MyBatis之前分为三步操作;
1.导入坐标;
2.编写MyBatis核心配置文件;
3.编写SQL映射文件。
下面逐一介绍;
打开pom.xml文件;暂时先加入以下依赖;;如果以后做项目还需要其它的;可另行加入;
<?xml version=;1.0; encoding=;UTF-8;?>
<project xmlns=;http://maven.apache.org/POM/4.0.0;
xmlns:xsi=;http://www.w3.org/2001/XMLSchema-instance;
xsi:schemaLocation=;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;>
<modelVersion>4.0.0</modelVersion>
<!-- 当前项目的坐标-->
<groupId>org.example</groupId>
<artifactId>maven-project</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- 导入mysql的驱动jar包-->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency>
<dependency>
<!-- mybatis需要的坐标-->
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</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>
</project>
注意记得把数据库的url、账户、密码改成自己的MySQL对应的即可。
<?xml version=;1.0; encoding=;UTF-8; ?>
<!DOCTYPE configuration
PUBLIC ;-//mybatis.org//DTD Config 3.0//EN;
;https://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:///mybatis?useSSL=false;/>
<property name=;username; value=;root;/>
<property name=;password; value=;ZWQQq123qwe;/>
</dataSource>
</environment>
</environments>
<mappers>
<!--加载sql的映射文件-->
<!--Mapper代理方式;因为以后如果有很多SQL映射文件;我们就不用写很多行了;直接以下一行采用包扫描方式解决-->
<package name=;com.mapper;/>
</mappers>
</configuration>
此处以SQL语句select * from tb_user为例;值得注意的是;这里的namespace和id和resultType均需要自行设定;其中resultType是我的项目中的一个自定义的类名;。
<?xml version=;1.0; encoding=;UTF-8; ?>
<!DOCTYPE mapper
PUBLIC ;-//mybatis.org//DTD Mapper 3.0//EN;
;https://mybatis.org/dtd/mybatis-3-mapper.dtd;>
<mapper namespace=;com.mapper.UserMapper;>
<!-- 设置返回值类型为我们自定义的类User-->
<select id=;selectAll; resultType=;com.zhou.User;>
select * from tb_user
</select>
</mapper>
以上几步完成之后;我们继续进行Mapper代理开发。
Mapper代理开发的目的有两个;①解决原生方式当中的硬编码;②简化后期执行SQL。使用Mapper代理开发总共分为以下几个步骤;
package com.mapper;
import com.zhou.User;
import java.util.List;
public interface UserMapper {
List<User> selectAll();
}
项目文件夹的部署方式结构为;
<?xml version=;1.0; encoding=;UTF-8; ?>
<!DOCTYPE mapper
PUBLIC ;-//mybatis.org//DTD Mapper 3.0//EN;
;https://mybatis.org/dtd/mybatis-3-mapper.dtd;>
<mapper namespace=;com.mapper.UserMapper;>
<!-- 设置返回值类型为我们自定义的类User-->
<select id=;selectAll; resultType=;com.zhou.User;>
select * from tb_user
</select>
</mapper>
package com.mapper;
import com.zhou.User;
import java.util.List;
public interface UserMapper {
List<User> selectAll();
}
package com.zhou;
import com.mapper.UserMapper;
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.InputStream;
import java.util.List;
public class MyBatisDemo2 {
public static void main(String[] args) throws Exception{
//1.加载MyBatis核心配置文件;获取sqlSessionFactory
String resource = ;mybatis-config.xml;;
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
//2.获取sqlSession对象;用它执行sql
SqlSession sqlSession=sqlSessionFactory.openSession();
UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
//3.执行sql
List<User> users=userMapper.selectAll();
System.out.println(users);
//4.释放资源
sqlSession.close();
}
}
以上就是MyBatis快速创建的入门教程。