1. Mybatis介绍
MyBatis 是支持普通 SQL查询,和高级映射的优秀框架。MyBatis 消除了几乎所有的代码和参数的手工设置以及的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
2. 准备jar包
1), Mybatis包。
2) ,因为我们要用到SQLSERVER,所以需要此包。
3. 准备SQL SERVER表结构及数据
创建商品信息表并为商品信息表添加要用到的测试数据
CREATE TABLE tbInfoPart ( ID INT IDENTITY(1,1), --自增id PartCode NVARCHAR(100), --商品编码 PartName NVARCHAR(200), --商品名称 Unit NVARCHAR(4), --商品单位 SalePrice NUMERIC(14,6), --售价 PRIMARY KEY(ID) )INSERT INTO tbInfoPart (PartCode, PartName, Unit, SalePrice) VALUES ('001-0001', 'TCL D32E161 32英寸 内置wifi 在线影视 窄边LED网络液晶电视', '台', 1099.90)INSERT INTO tbInfoPart (PartCode, PartName, Unit, SalePrice) VALUES ('001-0002', 'TCL D50A710 50英寸 40万小时视频 全高清 内置WiFi 八核安卓智能LED液晶电视', '台', 2799.00)
4. MyBatis基本配置
1)打开MyExclipse,新建一个java project
2)添加工程根目录lib文件夹,将我们所需要的两个jar包文件拷贝到这个文件夹下,并右键Build Path ==> Add To Build Path
3)在src目录下添加mybatis.xml配置文件
4)定义表tbInfoPart(商品信息表)对应的实体类
package com.mybatis.entity;public class PartInfo { private int id; private String partCode; private String partName; private String unit; private Float salePrice; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getPartCode() { return partCode; } public void setPartCode(String partCode) { this.partCode = partCode; } public String getPartName() { return partName; } public void setPartName(String partName) { this.partName = partName; } public String getUnit() { return unit; } public void setUnit(String unit) { this.unit = unit; } public Float getSalePrice() { return salePrice; } public void setSalePrice(Float salePrice) { this.salePrice = salePrice; }}
5)定义维护tbInfoPart(商品信息表)的接口
package com.mybatis.dao;import com.mybatis.entity.PartInfo;public interface PartDao { public PartInfo getPartInfoByID(int id);}
6)配置tbInfoPart(商品信息表)接口在Mybatis中的实现
7)调整mybatis.xml,在</configuration>之前添加如下代码
5. 测试运行
package com.mybatis;import java.io.InputStream;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import com.mybatis.entity.PartInfo;public class TestMain { public static void main(String[] args) { InputStream iStream = TestMain.class.getClassLoader(). getResourceAsStream("mybatis.xml"); SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(iStream); SqlSession session = sessionFactory.openSession(); String statement = "com.mybatis.dao.PartDao.getPartInfoByID"; PartInfo partInfo = session.selectOne(statement, 1); session.close(); System.out.println("商品:["+partInfo.getPartCode()+"] "+partInfo.getPartName()+ " ,售价:"+partInfo.getSalePrice()+"元/"+partInfo.getUnit()); }}
输出结果:
商品:[001-0001] TCL D32E161 32英寸 内置wifi 在线影视 窄边LED网络液晶电视 ,售价:1099.9元/台
可以看到,数据库中的记录已经成功查询到了。
6. 目录结构接源码
源码下载: