电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

如何基于mybatis框架查詢數據庫表數據并打印

瀏覽:3日期:2023-10-21 18:27:31

一、需求說明

使用mybatis框架查詢數據庫user表數據并打印到控制臺上

如何基于mybatis框架查詢數據庫表數據并打印

二、數據庫數據準備

-- 創建用戶表create table user ( id int primary key auto_increment, username varchar(20) not null, birthday date, sex char(1) default ’男’, address varchar(50));-- 添加用戶數據insert into user values (null, ’孫悟空’,’1980-10-24’,’男’,’花果山水簾洞’);insert into user values (null, ’白骨精’,’1992-11-12’,’女’,’白虎嶺白骨洞’);insert into user values (null, ’豬八戒’,’1983-05-20’,’男’,’福臨山云棧洞’);insert into user values (null, ’蜘蛛精’,’1995-03-22’,’女’,’?絲洞’);-- 查詢用戶數據select * from user;

三、實現步驟

3.1 創建模塊3

.2 導入Mybatis框架jar包

如何基于mybatis框架查詢數據庫表數據并打印

3.3 編寫用戶實體類:User

package com.vg.entity;import java.util.Date;public class User { private int id; private String username; private Date birthday; private String sex; private String address; //alt+insert快速生成getter/setter方法 public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public String toString() { return 'User{' +'id=' + id +', username=’' + username + ’’’ +', birthday=' + birthday +', sex=’' + sex + ’’’ +', address=’' + address + ’’’ +’}’; }}

3.4 編寫dao接口:UserMapper

package com.vg.dao;import com.vg.entity.User;import java.util.List;/** * 數據訪問層接口:對用戶進行增刪改查操作 * */public interface UserMapper { /** * 查詢所有用戶 * */ List<User> findAllUsers();}

3.5 編寫dao接口映射文件: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>

3.6 編寫Mybatis主配置文件:sqlMapConfig.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> </configuration>

3.7 編寫測試類

package com.vg.test;import org.junit.Test;/** * 測試類 */public class TestUserMapper { /** * 測試方法:查詢所有學生 */ @Test public void testFindAllUsers(){ }}

四、完善sqlMapConfig.xml

4.1 目標

完成mybatis主配置文件相關信息的配置:數據庫環境信息配置,包括如下:

導入mybatis約束(復制約束信息) 數據庫事務配置 數據庫連接信息配置 連接池信息配置

4.2 sqlMapConfig.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> <!--environments標簽作用:配置數據庫環境 default:設置默認的數據庫環境 environment:用來配置一個數據庫的環境信息 --> <environments default='develop'> <!--用來配置一個數據庫的環境信息 id:配置環境信息的唯一標識 --> <environment id='develop'> <!--transactionManager:配置事務管理器 type:設置事務管理器的類型,取值有type=“[JDBC|MANAGED]” JDBC:事務管理使用JDBC的管理方式 MANAGED:事務交給容器管理(mybatis不管理),后續交給spring容器管理。 --> <transactionManager type='JDBC'></transactionManager> <!--dataSource:配置數據源(連接池)信息 type:設置數據源類型,常用的值有:unpooled 和 pooled unpooled:不使用連接池,每次都重新獲取連接操作數據 pooled:使用mybatis內置的連接池 --> <dataSource type='POOLED'><!--數據庫驅動字符串--><property name='driver' value='com.mysql.jdbc.Driver'/><!--數據庫驅動字符串--><property name='url' value='jdbc:mysql://localhost:3306/test'/><!--用戶名--><property name='username' value='root'/><!--密碼--><property name='password' value='root'/> </dataSource> </environment> </environments></configuration>

五、完善UserMapper.xml文件

5.1 目標

完成接口映射配置文件UserMapper.xml的編寫:這個映射文件就相當于UserMapper接口實現類配置

5.2 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標簽的namespace屬性的作用:關聯接口,需要配置對應接口的類全名字符串--><mapper namespace='com.vg.dao.UserMapper'> <!-- 完成接口映射配置文件UserMapper.xml的編寫:這個映射文件就相當于UserMapper接口實現類配置 --> <!--select標簽的作用:用來配置查詢要執行的SQL語句 id屬性:關聯接口中的方法名 resultType屬性:設置方法返回的數據類型,如果是集合則配置集合元素的類型 --> <select resultType='com.vg.entity.User'> select * from user </select></mapper>

5.3 在sqlMapConfig.xml中加載接口映射配置文件

<!--mappers標簽的作用:用來配置接口映射文件--> <mappers> <!--mapper標簽:一個該標簽就配置一個接口映射文件 resource屬性:配置映射文件的路徑,路徑分隔符使用 / : com/vg/dao/UserMapper.xml url:用于配置互聯網上的映射文件的路徑,比如:http://www.baidu.com/xxx.xml --> <mapper resource='com/vg/dao/UserMapper.xml'></mapper> </mappers>

六、編寫測試類運行

6.1 運行效果

如何基于mybatis框架查詢數據庫表數據并打印

6.2 實現步驟

1. 通過Resources類,加載sqlMapConfig.xml,得到文件輸入流對象 2. 實例化會話工廠創建類SqlSessionFactoryBuilder 3. 通過會話工廠創建類,讀取上面的輸入流,得到會話工廠SqlSessionFactory類 4. 使用SqlSessionFactory對象,創建SqlSession對象 a) 它相當于JDBC中的Connection對象,提供了操作數據庫的CRUD方法 b) 它提供了一個getMapper()方法,獲取接口的實現對象。 5. 獲取接口 UserMapper 實現類對象 6. 執行數據庫的查詢操作,輸出用戶信息 7. 關閉會話,釋放資源。

6.3 測試類代碼

package com.vg.test;import com.vg.dao.UserMapper;import com.vg.entity.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.InputStream;import java.util.List;/** * 測試類 */public class TestUserMapper { /** * 測試方法:查詢所有學生 * SqlSessionFactoryBuilder=>SqlSessionFactory=>Sqlsession:相當于JDBC中的Connection對象 */ @Test public void testFindAllUsers() throws Exception{ //1. 通過Resources類,加載sqlMapConfig.xml,得到文件輸入流對象 // Resources類作用:專門讀取src目錄下的資源文件 InputStream in = Resources.getResourceAsStream('sqlMapConfig.xml'); //2. 實例化會話工廠創建類SqlSessionFactoryBuilder SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder(); //3. 通過會話工廠創建類,讀取上面的輸入流,得到會話工廠SqlSessionFactory類 SqlSessionFactory sqlSessionFactory = builder.build(in); //4. 使用SqlSessionFactory對象,創建SqlSession對象 //a) 它相當于JDBC中的Connection對象,提供了操作數據庫的CRUD方法 //b) 它提供了一個getMapper()方法,獲取接口的實現對象。 SqlSession sqlSession = sqlSessionFactory.openSession(); //5. 獲取接口 UserMapper 實現類對象 UserMapper userMapper = sqlSession.getMapper(UserMapper.class); System.out.println('userMapper = ' +userMapper); //6. 執行數據庫的查詢操作,輸出用戶信息 List<User> userList = userMapper.findAllUsers(); for (User user : userList) { System.out.println(user); } //7. 關閉會話,釋放資源。 sqlSession.close(); }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Mybatis 數據庫
相關文章:
主站蜘蛛池模板: 下水道疏通_管道疏通_马桶疏通_附近疏通电话- 立刻通 | 灌木树苗-绿化苗木-常绿乔木-价格/批发/基地 - 四川成都途美园林 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 传递窗_超净|洁净工作台_高效过滤器-传递窗厂家广州梓净公司 | 汕头市盛大文化传播有限公司,www.11400.cc | 海日牌清洗剂-打造带电清洗剂、工业清洗剂等清洗剂国内一线品牌 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 | 成人纸尿裤,成人尿不湿,成人护理垫-山东康舜日用品有限公司 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 密度电子天平-内校-外校电子天平-沈阳龙腾电子有限公司 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 | 除尘布袋_液体过滤袋_针刺毡滤料-杭州辉龙过滤技术有限公司 | 苏州柯瑞德货架-仓库自动化改造解决方案 | 广州展台特装搭建商|特装展位设计搭建|展会特装搭建|特装展台制作设计|展览特装公司 | 纯水设备_苏州皙全超纯水设备水处理设备生产厂家 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 刺绳_刀片刺网_刺丝滚笼_不锈钢刺绳生产厂家_安平县浩荣金属丝网制品有限公司-安平县浩荣金属丝网制品有限公司 | 衬四氟_衬氟储罐_四氟储罐-无锡市氟瑞特防腐科技有限公司 | 胶辊硫化罐_胶鞋硫化罐_硫化罐厂家-山东鑫泰鑫智能装备有限公司 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 沈阳缠绕包装机厂家直销-沈阳海鹞托盘缠绕包装机价格 | 门禁卡_智能IC卡_滴胶卡制作_硅胶腕带-卡立方rfid定制厂家 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 接地电阻测试仪[厂家直销]_电缆故障测试仪[精准定位]_耐压测试仪-武汉南电至诚电力设备 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 蒸汽热收缩机_蒸汽发生器_塑封机_包膜机_封切收缩机_热收缩包装机_真空机_全自动打包机_捆扎机_封箱机-东莞市中堡智能科技有限公司 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 北京公积金代办/租房发票/租房备案-北京金鼎源公积金提取服务中心 | 辊道窑炉,辊道窑炉厂家-山东艾希尔 | 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 佛山市德信昌电子有限公司| 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 电表箱-浙江迈峰电力设备有限公司-电表箱专业制造商 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 流量检测仪-气密性检测装置-密封性试验仪-东莞市奥图自动化科技有限公司 | 蜘蛛车-登高车-高空作业平台-高空作业车-曲臂剪叉式升降机租赁-重庆海克斯公司 | 篷房|仓储篷房|铝合金篷房|体育篷房|篷房厂家-华烨建筑科技官网 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 |