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
  • 相关阅读:
    django页面分类和继承
    django前端从数据库获取请求参数
    pycharm配置django工程
    django 应用各个py文件代码
    CF. 1428G2. Lucky Numbers(背包DP 二进制优化 贪心)
    HDU. 6566. The Hanged Man(树形背包DP DFS序 重链剖分)
    小米邀请赛 决赛. B. Rikka with Maximum Segment Sum(分治 决策单调性)
    区间树 学习笔记
    CF GYM. 102861M. Machine Gun(主席树)
    2016-2017 ACM-ICPC East Central North America Regional Contest (ECNA 2016) (B, D, G, H)
  • 原文地址:https://www.cnblogs.com/LOVE0612/p/5178564.html
Copyright © 2011-2022 走看看