1. Mybatis介绍

MyBatis 是支持普通 SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和Java 的POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

2. 准备jar包

1)mybatis-3.3.0.jar, Mybatis包。

2)sqljdbc4.jar ,因为我们要用到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配置文件

<?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="development">
<environment id="development">
<transactionManager type="JDBC" />
<!-- 配置数据库连接信息 -->
<dataSource type="POOLED">
<!-- jdbc驱动 -->
<property name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<!-- 数据库链接 -->
<property name="url" value="jdbc:sqlserver://127.0.0.1; DatabaseName=Mybatis" />
<!-- 数据库用户名 -->
<property name="username" value="sa" />
<!-- 数据库密码 -->
<property name="password" value="-+" />
</dataSource>
</environment>
</environments>
</configuration>

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中的实现

<?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">
<!-- namespace为dao接口类的全名(报名+类名) -->
<mapper namespace="com.mybatis.dao.PartDao">
<!-- 如果要执行SELECT语句,就选择select标签。INSERT、UPDATE、DELETE同理 -->
<!-- id属性:对应dao接口类的方法名 -->
<!-- parameterType:对应dao接口类的参数类型,无参数可省略此属性 -->
<!-- resultType:对应dao接口类的返回结果类型,无返回结果可省略此属性 -->
<select id="getPartInfoByID" parameterType="int" resultType="com.mybatis.entity.PartInfo">
SELECT * FROM tbInfoPart WHERE ID=#{id}
</select>
</mapper>

7)调整mybatis.xml,在</configuration>之前添加如下代码

    <mappers>
<!-- 注册PartMapper.xml文件 -->
<mapper resource="com/mybatis/dao/mapper/PartMapper.xml"/>
</mappers>

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());
}
}

输出结果:

商品:[-] TCL D32E161 32英寸 内置wifi 在线影视 窄边LED网络液晶电视 ,售价:.9元/台

可以看到,数据库中的记录已经成功查询到了。

6. 目录结构接源码

源码下载:点此下载源码

最新文章

  1. CSS3多列
  2. Linux之脚本安装软件
  3. 让ZenCoding提升编码速度
  4. Java笔记(二十四)&hellip;&hellip;集合工具类Collections&amp;Arrays
  5. 细说webpack之流程篇
  6. SherlockactionBar中手动调用onCreateOptionsMenu的办法
  7. mysql数据库主从搭建
  8. SPOJ 705 New Distinct Substrings
  9. daterangepicker 使用方法以及各种小bug修复
  10. LNMP架构部署
  11. 某pdf转word v6.3.0.2算法分析
  12. 为什么alertView弹出后button会消失的问题
  13. 用于ViEmu的重置为试用状态的Python脚本
  14. 本地数据访问时出现跨域问题Cross origin requests are only supported for protocol schemes: ……
  15. 使用urllib2+re爬取web网站
  16. 《移山之道》Reading Task
  17. cobbler配置解析
  18. 02-25 类成员的访问权限--internal
  19. Ajax02 什么是json、json语法、json的使用、利用jQuery实现ajax
  20. idea存留

热门文章

  1. 免费的 Linux 分区管理器使用介绍
  2. android侧滑效果(引用官方网站提供的API文件)
  3. 使用线程池测试cpu的并发计算能力
  4. DCGAN增强图片数据集
  5. 吴裕雄--天生自然java开发常用类库学习笔记:定时调度
  6. POJ 1472:Instant Complexity 模拟时间复杂度
  7. windows 禁用中文输入法(转)
  8. NAT的三种方式
  9. 八十四、SAP中的ALV创建之三,创建ALV表格
  10. css把图片方框变为圆角