尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

IDEA(2020版)实现MyBatis入门程序

IDEA(2020版)实现MyBatis入门程序
📅 发布时间:2026/6/20 4:15:13

IDEA(2020版)实现MyBatis入门程序

原文链接:IDEA(2020版)实现MyBatis入门程序 – 每天进步一点点

 

可能遇到的报错:

java.io.IOException: Could not find resource mybatis-config.xml

IDEA 连接数据库报错Public Key Retrieval is not allowed

0.说明

工具:IDEA 2020.1 、Maven 3.6.3、jdk1.8

jdk1.8下载地址:

jdk1.8.0_131.zip(访问密码: 8855): https://url47.ctfile.com/f/64055047-1502030626-bfbf38?p=8855 

Maven3.6.3下载地址:

apache-maven-3.6.3.zip (访问密码: 8855): https://url47.ctfile.com/f/64055047-1502030329-d91abe?p=8855

Win10如何配置Java JDK环境,请点击这里。

Win10如何配置Maven环境,请点击这里。

IDEA如何配置JDK,请点击这里。

IDEA如何配置Maven,请点击这里。


源代码下载(访问密码: 2945):

Servlet01.rar: https://url47.ctfile.com/f/64055047-1501898755-f712c4?p=2945

1.MyBatis环境搭建

打开IDEA,点击“File—>New—>Project”

我们 选择“Maven”项目,然后点击“Next”

改一下项目名称,然后点击“Finish”

创建完项目默认如下:

我们引入相关依赖,打开POM文件,引入下面的依赖

<?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.itheima</groupId>
<artifactId>mybatistest</artifactId>
<version>1.0-SNAPSHOT</version>
 
<dependencies>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.11</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
 
</project>

然后点击下面这两个小图标,下载maven依赖。

然后创建数据库链接信息配置文件 (db.properties)

右击 resources,选择“New—>File”

输入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=123456

编写配置文件mybatis-config.xml

右击 “resources—>New—>File”,命名为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>
 
</configuration>

到此,mybaits环境搭建完毕。

2.数据库与实体类创建

(1)数据库创建

使用navicat或者其他的数据库工具,创建一个数据库,名字为mybatis,然后使用下面的sql在数据库里执行。

use mybatis;
create table users(
uid int primary key auto_increment,
uname varchar(20) not null,
uage int not null
);
insert into users(uid,uname,uage) values(null,'张三',20),(null,'李四',18);

创建完了,查看一下数据库,数据是否正常插入

(2)创建实体类

右击“java”文件夹,选择“New—>Package”

然后名称输入 com.itheima.pojo

创建完后,界面如下所示,然后右击“pojo”文件夹,选择“New->Java Class”

类名

名称输入 User,类型选择Class,然后按回车

代码参考下面的

package com.itheima.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;
}
}

界面参考如下:

3.mapper映射文件

(1)创建mapper映射文件

右击”resources“文件夹,选择 ”New—>Directory“,创建文件夹,名称就叫mapper

刚才创建的mapper文件夹,右击它,然后选择”New—>File“,文件名称就写 ”UserMapper.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为映射的根节点,namespace指定Dao接口的完整类名
mybatis会依据这个接口动态创建一个实现类去实现这个接口,
而这个实现类是一个Mapper对象-->
<mapper namespace="com.itheima.pojo.User">
<!--id ="接口中的方法名"
  parameterType="传入的参数类型"
  resultType = "返回实体类对象,使用包.类名"-->
<select id="findById" parameterType="int"
resultType="com.itheima.pojo.User">
select * from users where uid = #{id}
</select>
</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 namespace="com.itheima.pojo.User">
 
<select id="findById" parameterType="int" resultType="com.itheima.pojo.User">
select * from users where uid = #{id}
</select>
</mapper>

这样我们就完成了映射文件,一般情况下, 一个实体类对应一个映射文件,命名规则一般是 实体类+Mapper+.xml

上面的代码写了一个 查询语句。id=”findById”,后面要在test语句中使用。

后面这个UserMapper.xml文件可以增加相应的 update、insert、delete操作。

注意,id要做到唯一。

(2)修改mybatis-config.xml,引入UserMapper.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>
 
<!-- mapping文件路径配置 -->
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
 
</configuration>
4.创建测试类

我们右击测试类下面的java文件夹,选择 ”New—>Package“,然后名称选择”Test“

代码参考如下:

package Test;
 
import com.itheima.pojo.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.Reader;
 
public class UserTest {
@Test
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();
}
}

执行测试结果:

相关新闻

  • 塑料养殖网安全警示网挤出机,三维网、塑料平网生产设备靠谱厂家推荐
  • vxe-gantt 甘特图使用右键菜单
  • 2025年活力菌仓品牌推荐榜:代餐/排毒/养颜/减脂/养肠/体控/通便神器/膳食纤维/肠道健康/活力菌仓公司综合参考,惠植健领衔,用科技焕活自然能量

最新新闻

  • 2026年口碑好的苏州卷材 EVA/无味 EVA/EVA优质厂家汇总推荐 - 品牌宣传支持者
  • 龙虾智能体进阶实战:自定义Skill插件开发与多模型适配方案
  • TortoiseSVN实战:精准回滚Windows环境下的问题代码版本
  • 2026市面上专业的废弃输送pp防静电管生产商排行 - 品牌排行榜
  • 豆包AI不是智能助手,而是对话式信息接口
  • GLM-5.1深度解析:国产大模型的中文长文本结构化语义建模突破

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号