zoukankan      html  css  js  c++  java
  • Mybatis基本配置(一)

     

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

    输出结果:

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

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

    6. 目录结构接源码

    QQ截图20160202212446

    源码下载:点此下载源码

    笔者只是初学者,开此博客的初衷是为了给自己的学习过程留一个痕迹。所以您可能发现笔者措辞不严谨、逻辑不合理,甚至代码有错误、结论很偏颇等等。笔者感激各位的讨论和指正,并在此不胜感激!拜谢!欢迎加QQ群讨论:852410026
  • 相关阅读:
    Spring(二) Spring装配Bean的几种方式
    Spring(一) Spring配置文件中classpath和classpath*的区别
    学习响应式编程 Reactor (5)
    学习响应式编程 Reactor (4)
    学习响应式编程 Reactor (3)
    学习响应式编程 Reactor (2)
    学习响应式编程 Reactor (1)
    学习Java 8 Stream Api (5)
    学习Java 8 Stream Api (4)
    Spring WebFlux 学习笔记
  • 原文地址:https://www.cnblogs.com/LOVE0612/p/5178564.html
Copyright © 2011-2022 走看看