创建Mybatis框架
目录
1.在pom文件中引入jar包
2.创建mybatis的主配置文件
3.准备实体类与mysql.properties文件
4.编写主配置文件
5.创建sql的xml文件
6.创建与sql的xml相关的接口
7.在主配置文件中扫描mapper文件
8.编写测试类
1.在pom文件中引入jar包
当我们创建好Mybatis架构后,就需要在项目自动生成的pom.xml文件中导入运行Mybatis所需要的jar包(前提是配置好maven)
<!-- mybatis框架包 --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.2.8</version></dependency><!--mysql驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency>
2.创建mybatis的主配置文件
我们创建一个mybatis的主配置文件,例如mybatis-confg.xml,并添加头部信息
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration></configuration>
3.准备实体类与mysql.properties文件
实体类:我们需要查询数据库的表所对应的类,其中包含表中的每个属性
这里需要在pom.xml文件中添加一个jar包,使用注解生成get和set方法
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.8</version></dependency>#注意:目前这些jar包代码都要写入<dependencies></dependencies>内
以我数据库smbms中的smbms_provider表为例(就是文章开头的sql文件,第一次上传描述的不太好)创建实体类
import lombok.Data;
import lombok.ToString;@Data //包含get和set方法
public class Provider {private Integer id; // 主键IDprivate String proCode;//供应商编码private String proName;//供应商名称private String proDesc;//供应商描述private String proContact;//供应商联系人private String proPhone;//供应商电话private String proAddress;//供应商地址private String proFax;//供应商传真private Integer createdBy;//创建者private String creationDate;//创建时间private Integer modifyBy;//修改者private String modifyDate;//修改时间}
mysql.properties文件:以properties文件的形式来书写配置数据库的数据
mysql.properties文件内容:
#jdbc.url对不同电脑可能会出现小差错,若出错用AI修复一下即可
jdbc.url=jdbc:mysql://127.0.0.1:3306/smbms?useUnicode=true&characterEncoding=utf-8&useSSL=false&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2B8
jdbc.username=root
jdbc.userpwd=root
jdbc.driver=com.mysql.cj.jdbc.Driver
4.编写主配置文件
编写主配置文件mybatis-confg.xml,用于配置数据库连接环境
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><!-- 读取mysql.properties文件 --><properties resource="mysql.properties"/><!-- 配置环境 连接数据库 --><environments default="db01"><environment id="db01"><!--事务配置--><transactionManager type="JDBC"></transactionManager><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}"/><property name="url" value="${jdbc.url}"/><property name="username" value="${jdbc.username}"/><property name="password" value="${jdbc.userpwd}"/></dataSource></environment></environments><!-- 扫描mapper文件 --><mappers><mapper resource="mappers/ProviderDao.xml"></mapper></mappers></configuration>
5.创建sql的xml文件
在resources下创建mappers子文件ProviderDao.xml,用于编写SQL语句
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hz.dao.ProviderDao"><!--$原样输出 #占位符?select 查询id 与接口中的方法名一致parameterType 参数类型(没用,可以不写)resultType 返回结果类型--><!-- 根据id查找信息 --><select id="findProvider" resultType="com.hz.pojo.Provider">select * from smbms_provider where id=#{pid}</select>
</mapper>
6.创建与sql的xml相关的接口
public interface ProviderDao {/*** 根据ID获得单个对象* @param Integer* @return*///方法名要和sql的xml文件中的id相同,参数也相同public Provider findProvider(Integer pid);
}
7.在主配置文件中扫描mapper文件
<!-- 扫描mapper文件 --><mappers><mapper resource="mappers/ProviderDao.xml"></mapper></mappers>
8.编写测试类
public class ProviderDaoTest {@Testpublic void findProvider() {try {//读取mybatis主配置文件InputStream is = Resources.getResourceAsStream("mybatis-config.xml");//获得sqlSession工厂SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);//通过sqlSessionFactory获得数据库连接对象SqlSessionSqlSession sqlSession = sqlSessionFactory.openSession(true);//默认true 自动提交//获得dao实例ProviderDao providerDao = sqlSession.getMapper(ProviderDao.class);Provider provider = providerDao.findProvider(1);System.out.println(provider.toString());} catch (Exception e) {e.printStackTrace();}}
}