mybatis 快速開始

mybatis入門文檔:http://www.mybatis.org/mybatis-3/zh/getting-started.html

剛開始看mybatis,雖然很基礎,但是可能不太看得哈,從下面的栗子開始,結合mybatis入門文檔,會很快實現一個數據查詢操作

mybatis 通過xml實現方式如下:

1. 安裝mysql,創建一個商場表

2. 配置mybatis.xml

3. 創建商場表的映射對象,mapper接口

4. 配置mapper.xml

5. 測試是否成功

 

步驟一  安裝mysql,創建一個商場表

1. mysql安裝,參考http://www.runoob.com/mysql/mysql-install.html

2. 數據庫連接工具Navicat Premuim安裝,連接本地數據庫

3. 創建商場表,執行sql

CREATE TABLE `m` (
  `mno` int(11) NOT NULL AUTO_INCREMENT COMMENT '商場編號',
  `mname` varchar(20) NOT NULL COMMENT '商場名稱',
  `mcity` varchar(50) NOT NULL COMMENT '所在城市',
  `gmt_create` datetime NOT NULL COMMENT '記錄創建時間',
  `gmt_modified` datetime NOT NULL COMMENT '記錄修改時間',
  PRIMARY KEY (`mno`)
) ENGINE=InnoDB AUTO_INCREMENT=5403 DEFAULT CHARSET=latin1;

4. 插入數據

 

步驟二  配置mybatis-config.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">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3308/test?serverTimezone=GMT%2B8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <mappers>
        <mapper resource="mybatis/local-mapper.xml"/>
    </mappers>
</configuration>

步驟三 創建商場表的映射對象,mapper接口

1. 創建一個maven工程,使用工具intelij idea

2. 通過pom.xml 導入mybatis、jdbc connect的jar包,可以百度mvn resposity 查找dependency(依賴)

3. 創建商場表的映射對象(持久化對象)

商場表的映射對象

package com.alipay.Do;

public class m {
    private int mno;
    private String mname;
    private String mcity;

    public int getMno() {
        return mno;
    }

    public void setMno(int mno) {
        this.mno = mno;
    }

    public String getMname() {
        return mname;
    }

    public void setMname(String mname) {
        this.mname = mname;
    }

    public String getMcity() {
        return mcity;
    }

    public void setMcity(String mcity) {
        this.mcity = mcity;
    }
}

mapper 接口

package com.alipay.mapper;

import com.alipay.Do.m;

import java.util.List;

public interface localMapper {
/**
 9      * 新增商場
 10      * @param user
 11      * @return
 12      * @throws Exception
 13      */
     public int insertM(m mc) throws Exception;
     /**
 16      * 修改商場
 17      * @param user
 18      * @param id
 19      * @return
 20      * @throws Exception
 21      */
     public int updateM (m mc,int mno) throws Exception;
      /**
 24       * 刪除商場
 25       * @param id
 26       * @return
 27       * @throws Exception
 28       */
      public int deleteM(int mno) throws Exception;
     /**
 31      * 根據id查詢商場信息
 32      * @param id
 33      * @return
 34      * @throws Exception
 35      */
     public m selectMById(int mno) throws Exception;
      /**
 38       * 查詢所有的商場信息
 39       * @return
 40       * @throws Exception
 41       */
      public List<m> selectAllM() throws Exception;
}

步驟四  配置mapper.xml

<?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">
<mapper namespace="com.alipay.mapper.localMapper">
    <resultMap id="localMap" type="com.alipay.Do.m">
        <id property="mno" column="mno" javaType="java.lang.Integer"></id>
        <result property="mname" column="mname" javaType="java.lang.String"></result>
        <result property="mcity" column="mcity" javaType="java.lang.String"></result>
    </resultMap>
    <select id="selectMById" parameterType="int" resultMap="localMap">
        select * from m where mno = '1'
    </select>
</mapper>

步驟五 測試

public class sqlSessionOp {
    public SqlSessionFactory BuildSqlSessionFactory() throws Exception {
        SqlSession sqlSession = null;
        String resource = "mybatis/mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        return sqlSessionFactory;
    }

    public SqlSession getSqlSession() throws Exception {
        SqlSessionFactory sqlSessionFactory = this.BuildSqlSessionFactory();
        return sqlSessionFactory.openSession();
    }

    @Test
    public void selectDataById() throws Exception {
        SqlSession sqlSession =  this.getSqlSession();
        localMapper mapper = sqlSession.getMapper(localMapper.class);
        m n = mapper.selectMById(1);
        System.out.println("第一家商場名稱爲:"+n.getMname());
    }
}

 

測試執行結果:

文件結構如下

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章