当前位置: 首页 > news >正文

创建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();}}
}

http://www.dtcms.com/a/483165.html

相关文章:

  • 从化网站建设方案百度网站好评
  • 电商网站前台模块自己做的网站加载不出验证码
  • 数据结构 03 栈和队列
  • 微商城网站建设哪家好wordpress国内优化
  • 热释电传感器(PIR Sensor)技术深度解析:从物理原理到工程实践
  • 做餐厅网站的需求分析创造网站
  • docker项目打包演示项目(数字排序服务)
  • 诸城网站建设诸城wordpress 删除缓存
  • 自动化三维测量实现精密轴承全尺寸在线测量-中科米堆CASAIM
  • glitch做网站帝国cms做笑话网站
  • 什么网站可以做动图泰州营销型网站
  • OWL与VUE3 的高级组件通信全解析
  • 外贸人常用的网站建设免费网站制作
  • 用 Python + Vue3 打造超炫酷音乐播放器:网易云歌单爬取 + Three.js 波形可视化
  • GRS 认证:再生产品的 “绿色通行证”—— 知识深度解析
  • 常平众展做网站在新西兰做兼职的网站
  • 解决拓扑排序
  • Component template requires a root element, rather than just错误
  • 网站选择空间建筑工程类招聘网站
  • 开源的故障诊断大模型(FDLM):从多模态时序到可解释智能维护
  • 【编号219】中国钢铁工业年鉴(2000-2024)
  • 企业营销策划pptseo服务公司
  • LeetCode 算法题【中等】189. 轮转数组
  • 极验验证 wordpress郑州seo方案
  • 深圳网站设计公司排行网站建设市场调研框架
  • 前端环境搭建,保姆式教学
  • 长春 行业网站品牌建设情况汇报
  • 网站推广方案模板免费网络游戏大全
  • 从混合部署到高可用:在内网环境下搭建 GitLab-Jenkins-OpenResty的完整实战复盘20251014
  • 园林公司网站建设费用自适应wordpress模板