专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

MyBatis精讲(三)一篇文章让你学会用MyBatis获取数据

  序
  欢迎来到全网最完整的Java系列教程!!!
  本教程将包含基础知识、进阶知识、常用框架等,循序渐进地分享Java中必须掌握的知识和技术。跟着老K的教程每天学习一点,你会发现入门Java没有想象中那么难。
  经过前2篇文章的介绍,我们对 MyBatis  已经有了最基本的认识。
  本期的这篇文章,我们会进入到 MyBatis  最实用的部分,讲解增删改查的操作。
  阅读本文,可配合前两篇文章服用,效果更好: MyBatis精讲(一)MyBatis基础配置及持久层连接创建代码实战
  MyBatis精讲(二)常用工具MyBatisUtils类的实现
  内容会有点多,建议收藏,等有空或者有需要的时候拿出来查看。
  一、MyBatis实现CRUD的准备工作
  既然要实现和数据库的交互,那自然要创建一个数据库。为了统一教学效果,我们先将下述SQL语句导入到数据库,以创建统一的数据库: DROP TABLE IF EXISTS `employee`; CREATE TABLE `employee`  (   `id` int UNSIGNED NOT NULL AUTO_INCREMENT,   `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,   `depart` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,   `salary` decimal(10, 2) NOT NULL,   `age` int NOT NULL,   PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;  DROP TABLE IF EXISTS `department`; CREATE TABLE `department`  (   `did` int UNSIGNED NOT NULL AUTO_INCREMENT,   `depart` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,   `member` int NULL DEFAULT NULL,   PRIMARY KEY (`did`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;  INSERT INTO `employee` VALUES (5001, "赵乾", "销售部", 6000.00, 28); INSERT INTO `employee` VALUES (5002, "孙礼", "销售部", 7000.00, 34); INSERT INTO `employee` VALUES (6001, "周武", "技术部", 6500.00, 27); INSERT INTO `employee` VALUES (6002, "郑望", "技术部", 7500.00, 40);  INSERT INTO `department` VALUES (1, "销售部", 5); INSERT INTO `department` VALUES (2, "技术部", 6);
  所有通过MyBatis实现CRUD的,本质都是通过对3个文件的配置来实现: mybatis-config.xml:配置映射文件; 数据实体的java类文件:在java中与数据库对应的实体; mapper配置文件:查询语法的实现。 1. java实体类
  由于本项目中有2个数据表,分别是employee和department,所以我们也根据数据表的格式设计对应的实体类: Employee.java public class Employee {     private Integer id;     private String name;     private String depart;     private Float salary;     private Integer age;      public Integer getId() {         return id;     }      public void setId(Integer id) {         this.id = id;     }      public String getName() {         return name;     }      public void setName(String name) {         this.name = name;     }      public String getDepart() {         return depart;     }      public void setDepart(String depart) {         this.depart = depart;     }      public Float getSalary() {         return salary;     }      public void setSalary(Float salary) {         this.salary = salary;     }      public Integer getAge() {         return age;     }      public void setAge(Integer age) {         this.age = age;     } }Department.java public class Department {     private Integer did;     private String depart;     private Integer member;      public Integer getDid() {         return did;     }      public void setDid(Integer did) {         this.did = did;     }      public String getDepart() {         return depart;     }      public void setDepart(String depart) {         this.depart = depart;     }      public Integer getMember() {         return member;     }      public void setMember(Integer member) {         this.member = member;     } }应用中的java实体类万变不离其宗,都有以下特点; 类的私有属性和数据表中的列信息一一对应; 所有属性都要配置好getter和setter方法。
  java实体类只要满足上述2个要求即可。 2. mapper映射表
  有了实体类,我们就可以编写映射表了。
  我们首先在路径 ./src/main/resources/  下创建一个 mappers  目录,用来存放各种映射表;
  在本例中,我们在该目录下创建一个名为 humanResource.xml  的文件作为映射,其内代码准备如下: <?xml version="1.0" encoding="UTF-8" ?>        此处的   是固定写法,相关资料可以查阅官网:https://mybatis.org/mybatis-3/zh/getting-started.html。   是用来管理映射方法的标签, namespace   命名空间是用来区分调用域的。如果觉得困惑,可以把这个映射表想象成java的类文件,这个命名空间起到了相当于java中类名的作用,这点我们会在后面的内容中详解。 3. mybatis-config.xml
  这是MyBatis的基础配置文件,创建和设置的基础逻辑在MyBatis精讲(一)MyBatis基础配置及持久层连接创建代码实战中已经讲述了,有需要的可以回看。
  要实现CRUD的话,只要在 mybatis-config.xml  文件中的   标签下,加入如下配置即可:       这里的 resource  属性要和上述mapper映射表的名称相对应。 二、第一次通过MyBatis获取数据
  做好了上述准备工作,我们就可以通过MyBatis向数据库获取数据了。 1. 编写mapper映射
  在 humanResource.xml  的   标签里添加相应方法:   是MyBatis中的查询操作标签,用来执行所有与查询相关的操作;   中的 id  属性即这个查询方法的名称,可用于调用;   中的 resultType  属性即这个查询方法的输出结果类型; 为了便于理解,上述标签在java语言中,就相当于: public Employee selectAll(){}  ,只是函数用标签的方法表示出来。 2. 编写第一个测试用例,实现数据获取
  在mapper映射中设置好查询方法后,就可以在java中直接调用该方法,获取数据了,具体方法如下: import koder.mybatis.entity.Employee; import koder.mybatis.utils.MyBatisUtils; import org.apache.ibatis.session.SqlSession; import org.junit.Test;  import java.util.*;  public class MyBatisTest {      @Test     public void testSelectAll() {         SqlSession session = null;         try {             session = MyBatisUtils.openSession();             List list = session.selectList("humanResource.selectAll");             for (Employee ex : list) {                 System.out.println(ex.getDepart() + "	" + ex.getName());             }         } catch (Exception e) {             throw new RuntimeException(e);         } finally {             MyBatisUtils.closeSession(session);         }     } }该测试用例,是通过自写的 MyBatisUtils  实现的,关于 MyBatisUtils  的内容可以查看MyBatis精讲(二)常用工具MyBatisUtils类的实现的内容,这里是【传送门】; 调用mapper中的方法,只需要用 session.selectList("humanResource.selectAll")  即可, selectList  表示获取多结果, humanResource.selectAll  反应的是方法路径,逻辑和java的方法调用一致; 通过增强型for循环,获取并打印所获得的结果。
  如果一切正常,你将会获得的结果如下: 技术部 郑望 技术部 周武 销售部 孙礼 销售部 赵乾
  好了,经过前两讲的知识储备,以及本文的实战操练,我们终于可以实用MyBatis获取数据了。
  但MyBatis查询功能并不这么简单,还有很多细节和知识。
  为了更好的理解,我们下一篇会专门针对 MyBatis的查询操作 进行讲解,内容丰富,为了不错过后面的内容,可以现在先关注我哦!
  如果你对老K分享的内容有任何疑问,欢迎随时在评论区留言或者私信我。
  正在学习的小伙伴记得给老K一个赞哦,你的支持是我持续输出课程内容最大的动力! 阅读推荐
  IT大佬推荐!学习Java的最优路径 分享多个阶段的学习资源 建议收藏
  结束语
  我是专注于开发领域的@老K玩代码 ,会持续生产关于如何学习编程语言的优质内容。
  如果你想学习Java编程,或者想精进你的Java编程能力,可以关注我。
  如果你对开发、编程有任何疑问或者有想了解的内容,而我暂时没有写到的,也欢迎随时来找我聊聊。
  #头条创作挑战赛#

举重无缘2028年洛杉矶奥运会,乒乓球以后会不会也无缘奥运会?感谢邀请!举重项目暂时未列出2028年洛杉机奥运会,作为一个传统优势项目,举重最终退出奥运会的话,那对中国体育代表团影响还是比较大的。乒乓球也是夺金大户,那么乒乓球是否也会无缘奥运是否一定要用科学来解释或证明中医?先举一个例子抗日战争和解放战争时。国民党的部队正规军,很多高级军官都是黄埔军校毕业或者讲武堂毕业的。而共产党的很多指挥官,都是泥腿子或者有一点文化和实战经验的。为什么共产党最终能赢魔兽世界9。0版本DK成为了全种族可选职业,你觉得哪个种族才是最适合DK的?前言魔兽世界前夕版本绝大部分玩家都在练小号,再加上DK变成了最新的全种族可选职业,一时间正在或者打算练DK小号的玩家也越来越多。对于老玩家来说,哪个种族适合哪个职业早就了然于胸,但二十年前,吉林人小时候都玩哪些游戏?要问我二十年前吉林人都玩哪些游戏那可真是问对人了,首先给大家介绍套圈水机这个都玩过吧,那时候没有手机,一个套圈水机就能让我们满足条件好一点的小伙伴,会有一台小霸王游戏机小时候一直在为什么感觉在美国很多斯巴鲁的车很受欢迎,而国内很少?斯巴鲁的车好在哪里?斯巴鲁是富士重工旗下的汽车品牌,在日本算是不大的一个汽车分支,和两田一产还是很有差距的。但是现在被丰田持股了,所以技术有交叉了,这是86和BRZ的来源。斯巴鲁的车最大的亮点就是发动假如苹果禁售,这是好事还是坏事,又会对国产手机有哪些影响?并不是什么好事,禁售就会让一些国产手机厂商飘了,原本挤牙膏的更新换代会变得更加慢,国产手机厂现在的机海战术显然是对苹果没什么影响的,因为国内手机厂商基本都在用骁龙处理器,一旦禁售苹广州移动电信联通工作哪个比较好?本人非体制内,也没有在类似公司工作过,不过个人觉得移动吧,总体来说,三大运营商日子都不好过。移动吧,看着规模挺大的,但任务压力也大,自从携号转网开始,移动的收入基本上是走下坡路。如收音机是如何接收电波信号的?为何不像手机需要大量的基站就能接收到信号?手机的发射为蜂窝式,因为频率在885MHz(上行)至954MHz,太高,必须经过变频至中频,经过滤波器,中频放大再变频,经过再放大后由天线发射出去。衰减太大,故发射距离短。早期收音中国物流集团成立,释放了什么信号?对快递行业有哪些影响?这有什么信号?新的垄断霸主出来了呗,能是什么信号。新组建的中国物流集团,由原中国铁路物资集团有限公司与中国诚通控股集团有限公司物流板块的中国物资储运集团有限公司华贸国际物流股份有限老公在外喝酒到凌晨还不回来,不接电话不回短信是什么心理?这个问题你反过来问问自己可能就有答案了1首先你们夫妻的感情是什么状态?如果很好,偶尔的一次应酬,晚归,不接电话等不用大惊小怪!说说我的一次经历吧婚后一两年的样子,他说陪客户要晚回,通用流量卡哪种好,有何推荐?您好,很高兴回答流量卡哪种好?有何推荐?这个问题,以下是我的解答,希望对您有所帮助!首先,感谢官方的邀请!关于流量卡,首先要看用于什么场合,不同使用场景,卡的功能不一样,卡拥有的流
此去风来,望眼皆是山海关注姵苓媗1悲喜自渡,他人难悟易误。2感谢生活,有剥夺,也有馈赠。3向海风许愿,在山海相见。4时光会走远,影像会长存。5此去风来,望眼皆是山海。6总有一天,你也会是别人翘首以盼的惊做自己,永远别过二手生活前几天和朋友聊天,他突然蹦出这样一句话我一直以来,过的都是二手生活。年轻的时候他本来想画画,家人说没出息,他就没再画。后来想写作,朋友说没前途,他就不写了。结婚的时候放弃了自己心爱钾是苹果的9倍,趁着应季多买点,晒干囤起来,冬天炖肉吃太香了钾是苹果的9倍,趁着应季多买点,晒干囤起来,冬天炖肉吃太香了每年秋天,我们家都会晒干菜,看到菜市场上有自己喜欢的蔬菜,多买上几十斤,拿回家处理好之后,放到楼顶上晒一晒,太阳特别大的中秋节将至,推荐6道待客硬菜,老少皆宜,学会了全家夸你是大厨孩子们已经陆续开学了,转眼又快到传统节日中秋季了,八月十五是我国的传统节日中秋节,8月是秋季的正中,15日又正好是8月的中,正是八月十五又叫中秋节。中秋节是庆祝丰收的节日,也是一家中秋节将至,推荐8道家常菜,老少皆宜,学会了全家夸你厨艺棒中秋节将至,应该大家都会在节日当天和家人聚在一起享用一顿丰富的美味大餐。但如果还没有想好什么菜单的,下面小主给大家推荐几道美味家常菜,做法简单,大小家人都会喜欢吃,喜欢的一起尝试做拿一万元去泰国,可以过上什么样的生活?看完好想去泰国说到泰国,首先你想到了什么,它是东南亚地区的国家之一,也是旅游行业的龙头,有许许多多的人妖,再加上泰国有泰式按摩以及美女导游服务。(此处已添加小程序,请到今日头条客户端查看)可能就长江遥远的东方有一条龙,它的名字叫长江,歌起来,原创古诗词出青绕藏顺天游,唐峰冰雪化精灵。巴山夜雨汇从流,云梦大泽碧盈盈。楚越吴国春秋忙,一衣带水奔东行。姑苏城外钟声传,崇明沙洲若有鸣。水天一色无域界,山南海北亦近邻。注青(青海),藏(西浅谈乡村旅游业的发展发展产业是乡村振兴的根本之策,而乡村旅游业作为产业发展的重要组成部分,这是一次重大的历史机遇。一是要结合当地实际,突出产品创新。俗话说一方水土养一方人。愈是乡土的愈是有个性,愈是本中秋节,这菜记得端上桌,6分钟出锅,解馋开胃,总吃不腻转眼之间,我们就要结束八月,迎来九月的来临,九月有很多重要的日子,中秋节就是其中之一,中秋佳节是一家人团聚的日子,晚餐有各种丰盛的菜肴,比如说鸭肉鸡肉,还有一道我家老公最爱的下酒菜中秋节家宴,花180元做8道菜!寓意好有滋味,上桌全家都夸上档次中秋节中国传统四大节日之一,也是全家团聚的好日子,在这么重要的节日里,家家户户必定会做一桌子美味佳肴,今天就给大家分享几道适合家宴的宴客菜,寓意好有滋味,花钱少吃得好,上桌全家都夸刘备临终前为何告诫子龙不可重用?在三国时期刘备可谓是叱咤风云人物,在遭遇了夷陵之败后,不得不做出了托孤白帝城的举动,最终刘备晚年变得十分凄惨,在他临终之际,还特意对身边的诸葛亮嘱托道子龙这个人,不了重用。要知道子
友情链接:快好知快生活快百科快传网中准网文好找聚热点快软件