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. 目录结构接源码

源码下载:点此下载源码

Mybatis基本配置(一)的更多相关文章

  1. Mybatis XML配置

    Mybatis常用带有禁用缓存的XML配置 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  2. MyBatis Cache配置

    @(MyBatis)[Cache] MyBatis Cache配置 MyBatis提供了一级缓存和二级缓存 配置 全局配置 配置 说明 默认值 可选值 cacheEnabled 全局缓存的开关 tru ...

  3. spring和mybatis整合配置

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  4. SSM ( Spring 、 SpringMVC 和 Mybatis )配置详解

    使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没 ...

  5. Mybatis中配置Mapper的方法

    在这篇文章中我主要想讲一下Mybatis配置文件中mappers元素的配置.关于基础部分的内容可以参考http://haohaoxuexi.iteye.com/blog/1333271. 我们知道在M ...

  6. MyBatis 实践 -配置

    MyBatis 实践 标签: Java与存储 Configuration mybatis-configuration.xml是MyBatis的全局配置文件(文件名任意),其配置内容和顺序如下: pro ...

  7. SpringMVC+Mybatis+MySQL配置Redis缓存

    SpringMVC+Mybatis+MySQL配置Redis缓存 1.准备环境: SpringMVC:spring-framework-4.3.5.RELEASE-dist Mybatis:3.4.2 ...

  8. spring整合mybatis(hibernate)配置

    一.Spring整合配置Mybatis spring整合mybatis可以不需要mybatis-config.xml配置文件,直接通过spring配置文件一步到位.一般需要具备如下几个基本配置. 1. ...

  9. 笔记:MyBatis XML配置详解

    MyBatis 的配置文件包含了影响 MyBatis 行为甚深的设置(settings)和属性(properties)信息.文档的顶层结构如下: configuration 配置 properties ...

  10. mybatis的配置和使用

    mybatis的配置和使用 MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis ...

随机推荐

  1. 求第K大数(分治)

    题意:已知N个数,求第K大数. 分析: 1.复杂度O(n). 2.利用快排中划分的原理,每次划分以序列中第一个数x为标准,将序列划分为{比x大的数}x{比x小的数}. 3.若集合{比x大的数}中元素为 ...

  2. Linux-nftables

    Linux-nftables https://netfilter.org/ https://netfilter.org/projects/iptables/index.html https://net ...

  3. (转)CentOS/Debian/Ubuntu系统 TCP-BBR 一键安装脚本

    本脚本适用环境 系统支持:CentOS 6+,Debian 7+,Ubuntu 12+ 虚拟技术:OpenVZ 以外的(KVM.Xen.VMware等) 内存要求:≥128M 日期 :2017 年 0 ...

  4. other#apache-commons

    if you want to be a better javaer, you should  spent time on apache commons.

  5. angular.js开发 将多页面开发成单页面

    用angulara.js做单页面开发时,由于不能跨页面取数据,又需要传参,可以采用:$scope.step=0/1来解决这个问题,设置初始值为想要的页面即可.

  6. Day4 - K - Ant Trip HDU - 3018

    Ant Country consist of N towns.There are M roads connecting the towns. Ant Tony,together with his fr ...

  7. UVA - 1600 Patrol Robot (巡逻机器人)(bfs)

    题意:从(1,1)走到(m,n),最多能连续穿越k个障碍,求最短路. 分析:obstacle队列记录当前点所穿越的障碍数,如果小于k可继续穿越障碍,否则不能,bfs即可. #pragma commen ...

  8. POJ2533:Longest Ordered Subsequence

    Longest Ordered Subsequence Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 37454   Acc ...

  9. 一个web项目中web.xml<context-param>的作用

    转   <context-param>的作用:web.xml的配置中<context-param>配置作用1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置 ...

  10. 七十三、SAP中清空内表的三种方式

    一.上代码 二.需要注意的是 * CLEAR 只能清空不带WITH HEADER LINE的内表* REFRESH 能清空内表,但是不回收内存* FREE 能清空内表并回收内存,但是此内表还能继续使用