学习前提:
1.学习Mybatis前要先了解Maven的文件配置。不然会很懵(我之前就是)。
还有了解数据库的一些增删改查知识(insert ,delete,update,select)
让我们开始吧:
1. 采用无骨架创建Maven项目。
这样我们的Maven项目就创建起来了
这里要注意两点:第一点无骨架创建的Maven项目下,test包会少一个resources测试源文件。所有要自己手动创建一个
这里要将resources设置为Test Resources Root
第二点:右边目录全部报错。点击右下角的Enable Auto-Import
如果还是报错,点击File–>settings–>搜索栏搜索Maven
完成这三步基本上没什么问题了,如果Maven配置还有问题可以找度娘,或者私信我。我帮你看看
创建好项目之后我们开始来配置文件
Mybatis重要的就两个配置文件config.xml和Mapper.xml(可以自定义名字)
先配置Mybatis_java下的pom.xml文件(这是Maven项目的基础配置)
<?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>cn.tjl</groupId>
<artifactId>Mybatis_java</artifactId>
<version>1.0-SNAPSHOT</version>
<!--以下信息需要自己手动去配置-->
<dependencies><!--配置源信息-->
<dependency><!--配置mysql数据库-->
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
<dependency><!--配置mybatis-->
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.6</version>
</dependency>
<dependency><!--配置测试文件-->
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency><!--配置日志文件-->
<groupId>com.github.WangJi92</groupId>
<artifactId>mybatis-sql-log</artifactId>
<version>1.0.3</version>
</dependency>
</dependencies>
<properties><!--配置jdk版本文件-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<java.version>11</java.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
</project>
配置好pom.xml文件之后。开始j进行一些简单的数据库操作
先创建一个数据库表:
CREATE TABLE us(
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20),
PASSWORD VARCHAR(10)
)
INSERT INTO us VALUES(NULL,"boss",123),(NULL,'zhagnsan',123),(NULL,'lisi',123),(NULL,'wangwu',123),(NULL,'love',123)
表添加的结果是这样的
现在开始Mapper.xml文件配置。在resources包下创建cn.tjl.mapper包。在cn.tjl.mapper包下创建UserMapper.xml(这些包名和文件名可以自己随便配,自己知道意思就行,以后自己开发项目了就不能这么随意咯~)
创建一个封装类,里面封装了数据库的id,name,password
开始创建Mapper.xml的配置文件了
创建包的时候要用“/”创建,否则后面会找不到Mapper.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">
<!-- 这是空间命名,这里Mapper需要手动创建一个Mapper的实体类,没提示报错就算了-->
<mapper namespace="Mapper">
<!-- 查询语句select-->
<select id="findAll" resultType="cn.tjl.User.User">
<!-- 要查询的SQL语句-->
select * from us
</select>
</mapper>
Mapper.xml配置完了之后开始配置comfig.xml文件
resources包下创建一个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">
<configuration>
<environments default="Handsome"><!--default参数指定解析哪个环境配置,环境配置可以有很多个-->
<environment id="Handsome"><!--id与default参数相同,所有解析的是这个环境配置-->
<transactionManager type="JDBC"/><!--事务管理,选择的是JDBC-->
<dataSource type="POOLED"><!--数据源配置-->
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql:///tjl"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
</configuration>
这两个配置文件完成之后,Mybatis的文件配置就算完成了。接下来可以编写测试代码了
在test包里创建测试文件:
代码:
package cn.tjl.test;
import cn.tjl.User.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 java.io.IOException;
import java.io.InputStream;
import java.util.List;
public class MyTest {
@Test
public void test() throws IOException {
InputStream rs = Resources.getResourceAsStream("SqlMapConfig.xml");//获取配置文件的加载信息,以输入流的形式
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(rs);//通过SQLSessionFactoryBuilder的工厂方法build()
SqlSession sqlSession = build.openSession();//,build()调用openSession()获取SqlSession对象
List<User> user = sqlSession.selectList("Mapper.findAll");//最后调用selectList加载Mapper的配置文件获取数据库信息
System.out.println(user);
sqlSession.close();
}
}
执行测试代码获得数据库信息
User{id=1, name=‘boss’, password=‘123’}
User{id=2, name=‘zhagnsan’, password=‘123’}
User{id=3, name=‘lisi’, password=‘123’}
User{id=4, name=‘wangwu’, password=‘123’}
User{id=5, name=‘love’, password=‘123’}
这样我们的Mybatis的简单配置已经完成了。如果对Mybatis文件配置还有疑问的,可以看我这篇专门的介绍。
总结
Mybatis的重要配置就两个,一个是config.xml还有一个是Mapper.xml只要明白其中的原理。如果不是很明白的,可以看看这篇博客— Mybatis基本配置详解 —希望可以帮到你