首页/新闻资讯/正文详情

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

发布时间:2026/9/27 9:21:54 来源:云帆数科 栏目:资讯中心
IDEA(2020版)实现MyBatis入门程序
可能遇到的报错java.io.IOException: Could not find resource mybatis-config.xmlIDEA 连接数据库报错Public Key Retrieval is not allowed0.说明工具IDEA 2020.1 、Maven 3.6.3、jdk1.8jdk1.8.0_131.zip链接:1百度网盘:通过网盘分享的文件jdk1.8.0_131.zip链接: https://pan.baidu.com/s/1KfrWgmzk720RHxlMcySPow?pwd49dt 提取码: 49dt(2) 夸克网盘我用夸克网盘给你分享了「jdk_8.0.1310.11.zip」点击链接或复制整段内容打开「夸克APP」即可获取。/82383b6hcL链接https://pan.quark.cn/s/25b5829aba22?pwdqwK9提取码qwK9Maven3.6.3下载地址链接:1百度网盘通过网盘分享的文件apache-maven-3.6.3.zip链接: https://pan.baidu.com/s/1hDekReMQF-CdbO6SSBpPaQ?pwdke73 提取码: ke732夸克网盘我用夸克网盘给你分享了「apache-maven-3.6.3.zip」点击链接或复制整段内容打开「夸克APP」即可获取。/fd6c3b6gww链接https://pan.quark.cn/s/1f109c6b6581?pwdRq2P提取码Rq2PWin10如何配置Java JDK环境请点击这里。Win10如何配置Maven环境请点击这里。IDEA如何配置JDK,请点击这里。IDEA如何配置Maven请点击这里。源代码下载:1.MyBatis环境搭建打开IDEA点击“File—New—Project”我们 选择“Maven”项目然后点击“Next”改一下项目名称然后点击“Finish”创建完项目默认如下我们引入相关依赖打开POM文件引入下面的依赖?xmlversion1.0encodingUTF-8?projectxmlnshttp://maven.apache.org/POM/4.0.0xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.itheima/groupIdartifactIdmybatistest/artifactIdversion1.0-SNAPSHOT/versiondependenciesdependencygroupIdorg.mybatis/groupIdartifactIdmybatis/artifactIdversion3.5.2/version/dependencydependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.11/version/dependencydependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/versionscopecompile/scope/dependency/dependenciesbuildresourcesresourcedirectorysrc/main/resources/directoryincludesinclude**/*.properties/includeinclude**/*.xml/include/includesfilteringtrue/filtering/resource/resources/build/project然后点击下面这两个小图标下载maven依赖。然后创建数据库链接信息配置文件 db.properties右击 resources选择“New—File”输入db.properties里面内容参考如下mysql.drivercom.mysql.cj.jdbc.Drivermysql.urljdbc:mysql://localhost:3306/mybatis?serverTimezoneUTCcharacterEncodingutf8useUnicodetrueuseSSLfalsemysql.usernamerootmysql.password123456编写配置文件mybatis-config.xml右击 “resources—New—File”,命名为mybatis-config.xml初始的配置文件参考如下?xmlversion1.0encodingUTF-8?!DOCTYPE configuration PUBLIC-//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtdconfiguration!-- 环境配置 --!-- 加载类路径下的属性文件 --propertiesresourcedb.properties/environmentsdefaultdevelopmentenvironmentiddevelopmenttransactionManagertypeJDBC/!-- 数据库连接相关配置 ,db.properties文件中的内容--dataSourcetypePOOLEDpropertynamedrivervalue${mysql.driver}/propertynameurlvalue${mysql.url}/propertynameusernamevalue${mysql.username}/propertynamepasswordvalue${mysql.password}//dataSource/environment/environments/configuration到此mybaits环境搭建完毕。2.数据库与实体类创建1数据库创建使用navicat或者其他的数据库工具创建一个数据库名字为mybatis然后使用下面的sql在数据库里执行。use mybatis;create table users(uid int primary key auto_increment,unamevarchar(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 Stringuname;//用户姓名 private int uage;//用户年龄 public intgetUid(){returnuid;}public void setUid(int uid){this.uiduid;}public StringgetUname(){returnuname;}public void setUname(Stringuname){this.unameuname;}public intgetUage(){returnuage;}public void setUage(int uage){this.uageuage;}}界面参考如下3.mapper映射文件1创建mapper映射文件右击”resources“文件夹选择 ”New—Directory“创建文件夹名称就叫mapper刚才创建的mapper文件夹右击它然后选择”New—File“文件名称就写 ”UserMapper.xml“代码参考如下?xmlversion1.0encodingUTF-8?!DOCTYPE mapper PUBLIC-//mybatis.org//DTD mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd!-- mapper为映射的根节点--!-- mapper为映射的根节点namespace指定Dao接口的完整类名 mybatis会依据这个接口动态创建一个实现类去实现这个接口 而这个实现类是一个Mapper对象--mappernamespacecom.itheima.pojo.User!--id接口中的方法名parameterType传入的参数类型resultType返回实体类对象使用包.类名--selectidfindByIdparameterTypeintresultTypecom.itheima.pojo.Userselect* fromuserswhere uid#{id}/select/mapper效果如下注意后续代码中我们已经把中所有的中文注释都删除了变成下面这样?xmlversion1.0encodingUTF-8?!DOCTYPE mapper PUBLIC-//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtdmappernamespacecom.itheima.pojo.UserselectidfindByIdparameterTypeintresultTypecom.itheima.pojo.Userselect* fromuserswhere uid#{id}/select/mapper这样我们就完成了映射文件一般情况下 一个实体类对应一个映射文件命名规则一般是 实体类Mapper.xml上面的代码写了一个 查询语句。id”findById”后面要在test语句中使用。后面这个UserMapper.xml文件可以增加相应的 update、insert、delete操作。注意id要做到唯一。2修改mybatis-config.xml引入UserMapper.xml文件?xmlversion1.0encodingUTF-8?!DOCTYPE configuration PUBLIC-//mybatis.org//DTD Config 3.0//ENhttp://mybatis.org/dtd/mybatis-3-config.dtdconfiguration!-- 环境配置 --!-- 加载类路径下的属性文件 --propertiesresourcedb.properties/environmentsdefaultdevelopmentenvironmentiddevelopmenttransactionManagertypeJDBC/!-- 数据库连接相关配置 ,db.properties文件中的内容--dataSourcetypePOOLEDpropertynamedrivervalue${mysql.driver}/propertynameurlvalue${mysql.url}/propertynameusernamevalue${mysql.username}/propertynamepasswordvalue${mysql.password}//dataSource/environment/environments!-- mapping文件路径配置 --mappersmapperresourcemapper/UserMapper.xml//mappers/configuration4.创建测试类我们右击测试类下面的java文件夹选择 ”New—Package“然后名称选择”Test“文件夹的名字为Test然后右击Test文件夹选择New—JavaClass类名为 UserTest代码参考如下package Test;importcom.itheima.pojo.User;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;importorg.junit.Test;importjava.io.IOException;importjava.io.Reader;public class UserTest{Test public voiduserFindByIdTest(){//读取文件名 String resourcesmybatis-config.xml;//创建流 Reader readernull;try{//读取mybatis-config.xml文件内容到reader对象中 readerResources.getResourceAsReader(resources);}catch(IOException e){e.printStackTrace();}//初始化mybatis数据库,创建SqlSessionFactory类的实例 SqlSessionFactory sqlMappernew SqlSessionFactoryBuilder().build(reader);//创建SqlSession实例 SqlSession sessionsqlMapper.openSession();//传入参数查询返回结果 User usersession.selectOne(findById,1);//输出结果 System.out.println(user.getUname());//关闭session session.close();}}执行测试结果

相关推荐

NativeWind 兼容性 Quirks 指南:React Native 与 CSS 样式引擎差异的权威解读
NativeWind 兼容性 Quirks 指南:React Native 与 CSS 样式引擎差异的权威解读

移动开发跨平台前端 【免费下载链接】nativewind The utility-first workflow you love from Tailwind CSS in your React Native applications. 项目地址: https://gitcode.com/gh_mirrors/na/nativewind 点击查看 免费下载 NativeWind 的核心理念是把 Tailwind C… · 2026/9/27 9:21:48

移动自动化革命:如何用MCP在5分钟内搞定iOS和Android跨平台测试
移动自动化革命:如何用MCP在5分钟内搞定iOS和Android跨平台测试

移动自动化革命:如何用MCP在5分钟内搞定iOS和Android跨平台测试 【免费下载链接】mobile-mcp Model Context Protocol Server for Mobile Automation and Scraping (iOS, Android, Emulators, Simulators and Real Devices) 项目地址: https://gitcode.com/GitHub… · 2026/9/27 9:21:48

个人网站建设论文中期报告从零搭建避坑指南
个人网站建设论文中期报告从零搭建避坑指南

个人网站建设论文中期报告从零搭建避坑指南 找建站公司报价三千,最后收你八千?这坑我见得太多了。很多做毕业设计或者个人练手的朋友,一上来就想着找外包,结果代码看不懂,改个按钮位置都要加钱,最后论文中期报告写得一塌糊涂,因为根本没法解释代码逻辑… · 2026/9/27 9:21:42

美工是做什么的新手入门
美工是做什么的新手入门

别被割韭菜,美工工作本质速查手册 找建站公司怕被坑高价?别急,这份速查手册直接拆解真相。 很多老板觉得美工就是“画图的”,其实这是最大的误区。 不懂美工的技术边界,你就只能被动接受“一口价”。 威胁场景:当“美工”变成安全漏洞的入口… · 2026/9/27 9:58:43

wp-calypso 数据表格组件 Table 详解:语义化 HTML、无障碍支持与 compact 紧凑模式实践
wp-calypso 数据表格组件 Table 详解:语义化 HTML、无障碍支持与 compact 紧凑模式实践

前端CMS 【免费下载链接】wp-calypso The JavaScript and API powered WordPress.com 项目地址: https://gitcode.com/gh_mirrors/wp/wp-calypso 点击查看 免费下载 Table 是 wp-calypso 中用于展示表格型数据的 React 组件族,由 Table、TableRow、Tabl… · 2026/9/27 9:58:19

用 PHP SDK 调用 Claude Message Batches API:异步批量处理与结果收集实战指南
用 PHP SDK 调用 Claude Message Batches API:异步批量处理与结果收集实战指南

人工智能大模型AI 应用移动开发交互助手 【免费下载链接】rikkahub RikkaHub is an Android APP that supports for multiple LLM providers. 项目地址: https://gitcode.com/gh_mirrors/ri/rikkahub 点击查看 免费下载 导读 本文以 .agents/skills/claude-api/ph… · 2026/9/27 9:58:19

Rustls 测试证书体系(test-ca)完全指南:目录结构、证书属性与重新生成方法
Rustls 测试证书体系(test-ca)完全指南:目录结构、证书属性与重新生成方法

网络安全密码学网络 【免费下载链接】rustls A modern TLS library in Rust 项目地址: https://gitcode.com/gh_mirrors/ru/rustls 点击查看 免费下载 test-ca/ 是 Rustls 仓库中专用的测试证书签发中心,为集成测试预生成了一整套自签名根 CA、二级中间… · 2026/9/27 9:58:13

网站开发要什么专业?3个核心技能避开性能优化坑
网站开发要什么专业?3个核心技能避开性能优化坑

网站开发要什么专业?3个核心技能避开性能优化坑 域名解析失败、服务器响应慢如蜗牛,这是不少初学者接手项目后的第一反应。很多人以为搞懂代码就行,却忽略了底层架构对 性能优化 的决定性影响。其实, 网站开发要什么专业… · 2026/9/27 9:58:07

网络推广方式有哪些推广思路怎么选避开网站被黑挂马坑
网络推广方式有哪些推广思路怎么选避开网站被黑挂马坑

网络推广方式有哪些推广思路怎么选避开网站被黑挂马坑 网站被黑挂马不知道怎么办?这是很多站长半夜惊醒时的第一反应。屏幕一闪,弹窗满屏,SEO权重瞬间归零,这种崩溃感我见过太多次。很多新手一慌就乱删文件,结果把数据库搞丢,彻底死机。这时候最关键… · 2026/9/27 9:58:00

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现

简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01

汕头网站建设制作厂家避坑指南:5大注意事项救急
汕头网站建设制作厂家避坑指南:5大注意事项救急

汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01

多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习

简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码