MyBatis框架實現(xiàn)一個簡單的數(shù)據(jù)查詢操作
基于在前面幾章我們已經(jīng)學習了對MyBatis進行環(huán)境配置,并利用SqlSessionFactory核心接口生成了sqlSession對象對數(shù)據(jù)庫進行交互,執(zhí)行增刪改查操作。這里我們就先來學習如何對數(shù)據(jù)進行查詢的操作,具體查詢操作有以下幾個步驟
- 創(chuàng)建實體類
- 創(chuàng)建Mapper XML
- 編寫<select>SQL標簽
- 開啟駝峰命名映射
- 新增<mapper>
- SqlSession執(zhí)行select語言
首先,我們需要有可供查詢信息的數(shù)據(jù)表并被導入到我們IDEA開發(fā)工具中,這里我導入了一個有關奶粉售賣信息的商品表
其中t-goods商品表內(nèi)容如下
我們要做的操作是按照商品編號從大到小倒序排列,并且將結(jié)果的前十條提取出來 步驟演示:
第一步.創(chuàng)建實體類
創(chuàng)建一個com.mybatis.entity.Goods包,創(chuàng)建命名為Goods代表商品的類,內(nèi)容如下:
public class Goods{ private Integer goodsId;//商品編號 private String title;//標題 private String subTitle;//子標題 private Float originalCost;//原始價格 private Float currentPrice;//當前價格 private Float discount;//折扣率 private Integer isFreeDelivery;//是否包郵,1-包郵 0-不包郵 private Integer categoryId;//分類編號 }
然后選中以上代碼塊快捷鍵Alt+Insert生成getter/setter方法
public Integer getGoodsId() { return goodsId; } public void setGoodsId(Integer goodsId) { this.goodsId = goodsId; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getSubTitle() { return subTitle; } public void setSubTitle(String subTitle) { this.subTitle = subTitle; } public Float getOriginalCost() { return originalCost; } public void setOriginalCost(Float originalCost) { this.originalCost = originalCost; } public Float getCurrentPrice() { return currentPrice; } public void setCurrentPrice(Float currentPrice) { this.currentPrice = currentPrice; } public Float getDiscount() { return discount; } public void setDiscount(Float discount) { this.discount = discount; } public Integer getIsFreeDelivery() { return isFreeDelivery; } public void setIsFreeDelivery(Integer isFreeDelivery) { this.isFreeDelivery = isFreeDelivery; } public Integer getCategoryId() { return categoryId; } public void setCategoryId(Integer categoryId) { this.categoryId = categoryId; } }
第二步.創(chuàng)建Mapper XML文件
在resources目錄下創(chuàng)建名為mappers的包,創(chuàng)建goods.xml文件,此文件用意是說明實體類與表之間的映射關系
第三步.編寫<select>SQL標簽
在goods.xml中聲明 文件內(nèi)容:
//xml標準聲明部分 <?xml version="1.0" encoding ="UTF-8"?> //Mybatis的DTD部分 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> //MyBatis映射部分 namespace:命名空間 <mapper namespace="goods"> <select id="selectAll" resultType="com.mybatis.entity.Goods"> select * from t_goods order by goods_id desc limit 10 //按照商品編號從大到小倒序排列,并且將結(jié)果的前十條提取出來 </select> </mapper> //resultType="com.mybatis.entity.Goods"指定了該查詢操作執(zhí)行后返回結(jié)果的類型,這里將返回的結(jié)果映射成com.mybatis.entity.Goods類型的對象
第四步.新增<mapper>
然后在mybatis-config.xml中對它聲明
<mappers> <mapper resource="mappers/goods.xml"/> </mappers>
第五步.開啟駝峰命名映射
<settings> <!--goods_id ==> goodsId 駝峰命名轉(zhuǎn)換 --> <setting name="mapUnderscoreToCamelCase" value="true"/> </settings>
第六步.SqlSession執(zhí)行select語言
打開MyBatisTestor測試用例類,執(zhí)行goods類中書寫的SQ語句,并且得到對應的結(jié)果
@Test public void testSelectAll(){ SqlSession session = null; try{ session = MyBatisUtils.openSession(); List<Goods> List = session.selectList("goods.selectALL"); //打印表結(jié)果 for(Goods g: list){ System.out.printin(g.getTitle()); } }catch(Exception e){ throw e; }finally{ MyBatisUtils.closeSession(session); } }
演示查詢結(jié)果:
到此這篇關于MyBatis框架實現(xiàn)一個簡單的數(shù)據(jù)查詢操作的文章就介紹到這了,更多相關MyBatis 數(shù)據(jù)查詢操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解析Java的Jackson庫中Streaming API的使用
這篇文章主要介紹了解析Java的Jackson庫中Streaming API的使用,Jackson被用于Java對象和JSON的互相轉(zhuǎn)換,需要的朋友可以參考下2016-01-01SpringBoot項目中Druid自動登錄功能實現(xiàn)
Druid是Java語言中最好的數(shù)據(jù)庫連接池,Druid能夠提供強大的監(jiān)控和擴展功能,這篇文章主要介紹了SpringBoot項目中Druid自動登錄功能實現(xiàn),需要的朋友可以參考下2024-08-08Springboot GET和POST請求參數(shù)獲取方式小結(jié)
Spring Boot GET和POST請求參數(shù)獲取是開發(fā)人員經(jīng)常需要解決的問題,本文主要介紹了Springboot GET和POST請求參數(shù)獲取方式小結(jié),具有一定的參考價值,感興趣的可以了解一下2023-09-09springboot實現(xiàn)excel表格導出幾種常見方法
在日常的開發(fā)中避免不了操作Excel,下面這篇文章主要給大家介紹了關于springboot實現(xiàn)excel表格導出的幾種常見方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-11-11