MyBatis之MyBatis环境搭建

一、MyBatis开发环境搭建
1.引入Jar包

  ①MyBatis

    mybatis-3.4.1.jar
    ant-1.9.6.jar
    ant-launcher-1.9.6.jar
    asm-5.1.jar
    cglib-3.2.4.jar
    commons-logging-1.2.jar
    javassist-3.21.0-GA.jar
    log4j-1.2.17.jar
    log4j-api-2.3.jar
    log4j-core-2.3.jar
    ognl-3.1.12.jar
    slf4j-api-1.7.22.jar
    slf4j-log4j12-1.7.22.jar

  ②MySQL:
    mysql-connector-java-5.1.7-bin.jar

2.创建配置文件: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:3306/mybatis_01" />
        <property name="username" value="root" />
        <property name="password" value="root" />
      </dataSource>
    </environment>
  </environments>
  <!-- 注册映射文件 -->
  <mappers>
    <mapper resource="cn/com/zfc/model/UserMapper.xml" />
  </mappers>
</configuration>

3.创建实体类:User.java

 package cn.com.zfc.model;

 /**
*
* @title User
* @describe User 模型类 Model 层
* @author 张富昌
* @date 2017年2月25日上午11:42:11
*/
public class User {
  private Integer id;
  private String name;
  private String sex;   public User(Integer id, String name, String sex) {
    super();
    this.id = id;
    this.name = name;
    this.sex = sex;
  }   public User() {
    super();
  }   public Integer getId() {
    return id;
  }   public void setId(Integer id) {
    this.id = id;
  }   public String getName() {
    return name;
  }   public void setName(String name) {
    this.name = name;
  }   public String getSex() {
    return sex;
  }   public void setSex(String sex) {
    this.sex = sex;
  }   @Override
  public String toString() {
    return "User [id=" + id + ", name=" + name + ", sex=" + sex + "]";
  } }

4.创建映射文件:UserMapper.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:命名空间 -->
<mapper namespace="cn.com.zfc.model.UserMapper">
  <!-- 查询一个 User 对象 -->
  <!-- parameterType:参数类型,resultType:返回结果类型 -->
  <select id="getOne" parameterType="java.lang.Integer" resultType="cn.com.zfc.model.User">
    select *
    from user
    where
    id=#{id}
  </select>
</mapper>

二、基本使用流程
1、获取 InputStream 对象,加载 Mybatis 配置文件 
  InputStream inputStream = Test01.class.getClassLoader().getResourceAsStream("mybatis_config.xml");
2、创建 SqlSessionFactoryBuilder,用来获取 SqlSessionFactory 对象 
  SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
3、获取 SqlSessionFactory 对象
  SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
4、获取 SqlSession 对象
  SqlSession sqlSession = sqlSessionFactory.openSession();
5、定义 statement 
  String statement = "cn.com.zfc.model.UserMapper.getOne";
6、执行查询语句 
  User user = sqlSession.selectOne(statement, 1);
  System.out.println("User:" + user);
7、提交事务 
  sqlSession.commit();
8、关闭 Session 
  sqlSession.close();

三、测试MyBatis环境:TestMyBatis.java

 package cn.com.zfc.test;

 import java.io.InputStream;

 import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; import cn.com.zfc.model.User; /**
*
* @title TestMyBatis
* @describe 测试 Mybatis
* @author 张富昌
* @date 2017年2月25日下午4:18:15
*/
public class TestMyBatis {
  public static void main(String[] args) {
    /* 1、获取 InputStream 对象,加载 Mybatis 配置文件 */
    InputStream inputStream = TestMyBatis.class.getClassLoader().getResourceAsStream("mybatis_config.xml");
    /* 2、创建 SqlSessionFactoryBuilder,用来获取 SqlSessionFactory 对象 */
    SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    /* 3、获取 SqlSessionFactory 对象 */
    SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(inputStream);
    /* 4、获取 SqlSession 对象 */
    SqlSession sqlSession = sqlSessionFactory.openSession();
    /* 5、定义 statement */
    String statement = "cn.com.zfc.model.UserMapper.getOne";
    /* 6、执行查询语句 */
    User user = sqlSession.selectOne(statement, 1);
    System.out.println("User:" + user);
    /* 7、提交事务 */
    sqlSession.commit();
    /* 8、关闭 Session */
    sqlSession.close();
  }
}

MyBatis之MyBatis环境搭建的更多相关文章

  1. mybatis:开发环境搭建--增删改查--多表联合查询(多对一)

    什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或 ...

  2. Mybatis系列全解(二):Mybatis简介与环境搭建

    封面:洛小汐 作者:潘潘 Mybatis 是一套持久层框架,灵活易用,特别流行. 前言 Mybatis系列全解,我们预计准备10+篇文章,让我们了解到 Mybatis 的基本全貌,真正从入门到上手,从 ...

  3. SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建

    SSM Spring+SpringMVC+mybatis+maven环境搭建 1.首先右键点击项目区空白处,选择new->other..在弹出框中输入maven,选择Maven Project. ...

  4. Mybatis简介、环境搭建和详解

    简介: 1.Mybatis  开源免费框架,原名叫iBatis,2010在google code,2013年迁移到github 2.作用: 数据访问层框架 2.1  底层是对JDBC的封装 3.myb ...

  5. spring+springMVC+mybatis+maven+mysql环境搭建(一)

    环境搭建是最基础的,但是发现平时很多时候大家都是ctrl c+ctrl v,这样对于很多细节完全不清楚,来,一起深入了解下 一.准备工作 首先得准备好maven.mysql啥的,这些略... 并且my ...

  6. Java Web开发SpringMVC和MyBatis框架开发环境搭建和简单有用

    1.下载SpringMVC框架架包,下载地址: 点击下载 点击打开地址如图所看到的.点击下载就可以 然后把相关的jar拷贝到lib下导入 2.MyBatis(3.4.2)下载 X-Amz-Algori ...

  7. springboot整合mybatis(SSM开发环境搭建)

    0.项目结构: ---------------------方法一:使用mybatis官方提供的Spring Boot整合包实现--------------------- 1.application.p ...

  8. 04 Mybatis 框架的环境搭建及入门案例

    1.搭建 Mybatis 开发环境 mybatis的环境搭建 第一步:创建maven工程并导入坐标 第二步:创建实体类和dao的接口 第三步:创建Mybatis的主配置文件 SqlMapConifg. ...

  9. Mybatis入门(一)环境搭建

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

  10. MyBatis源码环境搭建

    之前研究mybatis都是参考前面学习的人的一些经验,并没有自己搭建源码环境进行.现在以mybatis3.4.6版本搭建,搭建过程中各种failed,下面大致记录环境搭建过程. 1.mybatis3. ...

随机推荐

  1. Python概念-禁锢术之__slots__

    之所以给它起名为禁锢术,并非空缺来风,下面我们来了解一下__slost__ __slost__:其实就是将类中的名称锁定,实例化对象,只可以赋值和调用,不可以删除名字和增加新的名字 代码示例:(实例化 ...

  2. Python练习-装饰器版-为什么我的用户总被锁定

    参考代码如下: 1.用户登录程序流程控制代码: # 编辑者:闫龙 if __name__ == '__main__': import UserLoginFuncation LoclCount=[]; ...

  3. D. GCD Counting(树上dp)

    题目链接:http://codeforces.com/contest/1101/problem/D 题目大意:给你n个点,每个点都有权值,然后给你边的关系,问你树上的最大距离.(这里的最大距离指的是这 ...

  4. 2016.6.26——Maximum Depth of Binary Tree

    Maximum Depth of Binary Tree 本题收获 1.树时使用递归 2.注意边界条件时输出的值,仔细阅读题意,若是面试时,问清边界条件. 题目: Given a binary tre ...

  5. [MySQL优化案例]系列 — 优化InnoDB表BLOB列的存储效率

    首先,介绍下关于InnoDB引擎存储格式的几个要点:1.InnoDB可以选择使用共享表空间或者是独立表空间方式,建议使用独立表空间,便于管理.维护.启用 innodb_file_per_table 选 ...

  6. Oracle 11G R2 RAC中的scan ip 的用途和基本原理【转】

    Oracle 11G R2 RAC增加了scan ip功能,在11.2之前,client链接数据库的时候要用vip,假如你的cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个 ...

  7. python socket编程入门级

    客户端 import socket import time sk = socket.socket() # 第一步:创建socket对象 address = ('127.0.0.1', 8080) # ...

  8. 查看sql语句加锁信息

    问题: 最近使用quartz集群,总是报deadlock问题,所以需要查看一下执行的sql导致的加锁冲突. 步骤: 1.在要测试的库中创建指定表innodb_lock_monitor create t ...

  9. shell 数组基础->

    数组其实也算是变量, 传统的变量只能存储一个值, 但数组可以存储多个值. 普通数组:只能使用整数 作为数组索引 [有序 0 1 2 3 4 ]关联数组:可以使用字符串 作为数组索引 [无序 name ...

  10. sqlserver中查询存储过程中的字符串

    select name from sysobjects o, syscomments s where o.id = s.id and text like '%querytext%' and o.xty ...