Mybatis环境搭建
在开始之前,先看一下官网对Mybatis的定义 : MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
现在我们开始搭建Mybatis环境,简单的对数据库进行操作
1.创建maven工程
如图,一直点击下一步,创建maven工程
2.配置pom.xml
配置依赖项标签
<groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> <packaging>jar</packaging>
最后配置完成后如下
<?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>com.woqiyounai</groupId> <artifactId>BuildEnvironment</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.4.5</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.26</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.12</version> </dependency> </dependencies> </project>
至此pom.xml配置完成
3.创建对象及接口,准备测试
数据库如图
User对象如图
UserDao如图
目录结构如图
4.创建UserDao.xml,配置SqlMapConfig.xml\
创建这俩个文件后的目录结构操作如图
在SqlMapConfig.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">
配置SqlMapConfig.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"> <configuration> <!--配置数据库文件--> <environments default="mysql"> <environment id="mysql"> <transactionManager type="JDBC"></transactionManager> <dataSource type="POOLED"> <!--配置连接数据库的基本信息--> <property name="driver" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/db"/> <property name="username" value="root"/> <property name="password" value="root"/> </dataSource> </environment> </environments> <!--映射到的路径--> <mappers> <mapper resource="com/Rdao/UserDao.xml"></mapper> </mappers> </configuration>
5.配置UserDao.xml
在UserDao.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">
配置UserDao.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这里写要映射的接口路径--> <mapper namespace="com.dao.UserDao"> <!--resultType这里写最后要封装成的类型--> <select id="findAll" resultType="com.domian.User"> <!--select标签里面写查询的sql语句--> SELECT * FROM user; </select> </mapper>
到此环境搭建完毕
6.测试
import com.dao.UserDao; import com.domian.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 org.junit.Test; import javax.annotation.Resource; import java.io.IOException; import java.io.InputStream; import java.util.List; public class TestMybatis { @Test public void testFindAll() throws IOException { //创建输入流 InputStream is = Resources.getResourceAsStream("SqlMapConfig.xml"); //创建工厂 SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); SqlSessionFactory factory = builder.build(is); //创建SqlSession对象,并通过反射创对象 SqlSession session = factory.openSession(); UserDao userDao = session.getMapper(UserDao.class); //进行操作 List<User> users = userDao.findAll(); for (User user:users) { System.out.println(user); } //关闭资源 session.close(); is.close(); } }
结果如图