1.创建工程
2.引入相关依赖
1.在pom.xml文件中导入Mysql驱动包,Junit测试包,Mybatis的核心包等相关依赖。
2.下面代码块放入的里面。
3.在第一次引入依赖时,需要在联网的状态下,且需要的实践较长,需要耐心等待。
<dependencies>
<!-- mybatis的核心包配置-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.6</version>
</dependency>
<!-- junit测试包的配置-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- MySQL驱动包的配置-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.19</version>
</dependency>
</dependencies>
<!--由于idea不会自动编译src/main/java目录下的xml文件,下面的代码是将此目录下的XML资源编译进class文件夹中-->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>src/main/resources/db.properties</include>
<include>.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
如果遇到依赖包无法加载的情况。。。。 法一:鼠标右击点击Maven,然后在点击Reload project。。
法二:鼠标右击点击Maven,然后在点击Open Settings.xml。。 (此方法可能时镜像的问题,国外下载速度慢)
复制以下代码块到Settings.xml文件中。
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
</mirrors>
</settings>
3.创建数据库连接信息的配置文件信息。
在项目的src/main/resources目录下创建数据库连接的配置文件,这里将其命名为db.properties,该文件中配置数据库连接的参数。
mysql.driver=com.mysql.cj.jdbc.Driver
mysql.url=jdbc:mysql://localhost:3306/mybatis?serverTimezone=UTC&\characterEncoding=utf8&useUnicode=true&useSSL=false
mysql.username=root
#注意密码是你电脑中自己设置的数据库密码
mysql.password=root
4.创建mybatis的核心配置文件
在项目的src/main/resources目录下创建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">
<configuration>
<!--环境配置-->
<!--加载类路径下的属性文件-->
<properties resource="db.properties"/> <!--引入属性文件,数据库相关配置文件所在位置。-->
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<!--数据库连接相关配置,db.properties文件中的内容-->
<dataSource type="POOLED">
<property name="driver" value="${mysql.driver}"/>
<property name="url" value="${mysql.url}"/>
<property name="username" value="${mysql.username}"/>
<property name="password" value="${mysql.password}"/>
</dataSource>
</environment>
</environments>
<!-- 映射文件的的配置-->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>
5.创建数据库及数据的准备
(1)在mybatis中创建一个名为mybatis的数据库
create database mybatis;
(2)在mybatis数据库下创建users表,并在表中插入两条值
use mybatis;
create table users(
uid int primary key auto_increment,
uname varchar(20) not null,
uage int not null
);
insert into usesr(uid,uname,uage) values(null,'张三',20),(null,'李四',18);
6.创建POJO实体
在项目src/main/java目录下创建com.example.pojo包,在此包下建立User类,用于封装User对象的属性。
package pojo;
public class User {
private int uid;//用户id
private String uname;//用户姓名
private int uage;//用户年龄
public int getUid(){
return uid;
}
public void setUid(int uid){
this.uid=uid;
}
public String getUname(){
return uname;
}
public void setUname(String uname){
this.uname=uname;
}
public int getUage(){
return uage;
}
public void setUage(int uage){
this.uage=uage;
}
}
7.创建映射文件UserMapper.xml
在项目src/main/resources目录下创建一个mapper文件夹,在mapper文件下创建UserMapper.xml文件,该文件用于配置SQL语句和Java对象之间的映射。
文件内容为:
<?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为映射的根节点,namespace指定Dao接口的完整类名mybatis会依据这个接口动态创建一个实现类去实现这个接口,而这个实现类是一个Mapper对象-->
<mapper namespace="pojo.User">
<!--id"接口中的方法名" parameterType="传入的参数类型" resultType="返回实体类对象,使用包.类名"-->
<select id="findById" parameterType="int" resultType="pojo.User">
select * from users where uid=#{id}
</select>
</mapper>
8.修改mybatis-config.xml文件的配置
在mybatis-config.xml映射文件的后面加入UserMapper.xml文件路径的配置(上述文件代码中已加入)
<!-- 映射文件的的配置-->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
元素指定了UserMapper.xml文件的路径
9.编写测试类
在src/test/java下创建Test包,用于测试程序。
package Test;
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 pojo.User;
import java.io.IOException;
import java.io.Reader;
public class UserTest {
public void userFindByIdTest(){
String resources="mybatis-config.xml";
//创建流
Reader reader=null;
try{
//读取mybatis-config.xml文件内容到reader对象中
reader= Resources.getResourceAsReader(resources);
}catch (IOException e){
e.printStackTrace();
}
//初始化MyBatis数据库,创建SqlSessionFactory类的实例
SqlSessionFactory sqlMapper=new SqlSessionFactoryBuilder().build(reader);
//创建SqlSession实例
SqlSession session=sqlMapper.openSession();
//传入参数查询,返回结果
User user=session.selectOne("findById",1);
//输出结果
System.out.println(user.getUname());
//关闭session
session.close();
}
}
** 主函数为:**
package org.example;
import Test.UserTest;
public class UserMain {
public static void main(String[] args) {
UserTest test=new UserTest();
test.userFindByIdTest();
}
}
运行结果: