mybatis XML 映射配置文件 (官方文档)

  -对象工厂(objectFactory)

  -配置环境(environments)

  -映射器(mappers)


本地IDEA搭建/测试步骤

  1. 创建数据库
    1.   执行mysql查询

      CREATE DATABASE mybatis;
      CREATE TABLE tbl_employee(
      id INT(11) PRIMARY KEY AUTO_INCREMENT,
      last_name VARCHAR(25),
      gender CHAR(1),
      email VARCHAR(25)
      );
    2. 插入一条数据
  2. 加载jar包 :  
    1.   
    2. log4.jar 用于显示查询信息;
  3. 创建工程的资源文件夹(source folder) conf ,存储XML文件
    1.   
    2. <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
      <param name="Encoding" value="UTF-8" />
      <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS} %m (%F:%L) \n" />
      </layout>
      </appender>
      <logger name="java.sql">
      <level value="debug" />
      </logger>
      <logger name="org.apache.ibatis">
      <level value="info" />
      </logger>
      <root>
      <level value="debug" />
      <appender-ref ref="STDOUT" />
      </root>
      </log4j:configuration>

      log4j.xml (用于辅助显示sql查询信息)

      <?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="day_01.EmployeeMapper">
      <select id="selectEmp" resultType="day_01.Employee">
      select id,last_name lastname,gender,email from tbl_employee where id = #{id}
      </select>
      </mapper>

      EmployeeMapper.xml

      <!--
      namespace: 名称空间
      id: 唯一标识
      resultType:返回值类型
      #{id} : 从传递过来的参数中取出id值
      !-->
    3. <?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"/>
      <property name="username" value="root"/>
      <property name="password" value="123456"/>
      </dataSource>
      </environment>
      </environments>
      <!--将我们写好的sql映射文件{EmployeeMapper.xml},
      一定要注册到本全局配置文件{mybatis-config.xml}中-->
      <mappers>
      <mapper resource="EmployeeMapper.xml"/>
      </mappers>
      </configuration>

      全局配置文件{mybatis-config.xml}

  4. 创建Employee 的JavaBean类 , 加上toString()方法
    1.   
    2. package day_01;
      
      public class Employee {
      private Integer id;
      private String lastname,email,gender; @Override
      public String toString() {
      return "Employee{" +
      "id=" + id +
      ", lastname='" + lastname + '\'' +
      ", email='" + email + '\'' +
      ", gender='" + gender + '\'' +
      '}';
      } public Integer getId() {
      return id;
      } public void setId(Integer id) {
      this.id = id;
      } public String getLastname() {
      return lastname;
      } public void setLastname(String lastname) {
      this.lastname = lastname;
      } public String getEmail() {
      return email;
      } public void setEmail(String email) {
      this.email = email;
      } public String getGender() {
      return gender;
      } public void setGender(String gender) {
      this.gender = gender;
      }
      }
  5. 创建class MybatisTest01 测试类,执行并输入一条已经映射的sql语句
    1.   

      /**
      * 1. 根据xml配置文件(全局配置文件),创建一个sqlSessionFactory 对象,
      * 有一些运行环境的信息
      * 2.sql映射文件:配置了每一个sql ,以及sql的封装规则;
      * 3.将sql映射文件保存注册在全局配置文件中;
      * 4.写代码:
      * 1): 根据全局配置文件得到sqlSessionFactory;
      * 2): 使用sqlSession工厂,获得到sqlSession 对象,使用它来进行增删改查;
      * 一个sqlSession 就是代表和数据库的一次会话,用完关闭;
      * 3): 使用sql的唯一标识来告诉MyBatis执行那个sql,sql都是保存在sql映射文件中;
      */

      

public class MybatisTest01 {
@Test
public void test01() throws IOException {
//第一步根据xml配置文件(全局配置文件)
String resource = "mybatis-config.xml";
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); //第二步 ,获取sqlSession的实例,能够执行已经映射的sql语句
SqlSession openSession=sqlSessionFactory.openSession(); try {
//格式: openSession.selectOne("mapper的namespace+id" , arg1:传入数据)
Employee employee = openSession.selectOne("day_01.EmployeeMapper.selectEmp",1);
System.out.println(employee);
} finally {
openSession.close();
}
} }

MyBatis3-topic-01 -安装/下载/官方文档 -执行输入一条已经映射的sql语句的更多相关文章

  1. 在 Ubuntu 上安装 TensorFlow (官方文档的翻译)

    本指南介绍了如何在 Ubuntu 上安装 TensorFlow.这些指令也可能对其他 Linux 变体起作用, 但是我们只在Ubuntu 14.04 或更高版本上测试了(我们只支持)  这些指令. 一 ...

  2. selenium安装及官方文档

    selenium-python官方文档: https://selenium-python.readthedocs.io/ python3.5已安装的情况下,安装示意图如下 命令行输入 pip3 ins ...

  3. ubuntu16.04下snort的安装(官方文档安装)(图文详解)

    不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...

  4. ubuntu14.04下snort的安装(官方文档安装)(图文详解)

    不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...

  5. keepalived 安装篇-官方文档

    官方安装文档 http://www.keepalived.org/doc/installing_keepalived.html Installing Keepalived Install keepal ...

  6. Daphile 安装手册 -- 官方文档译文 [原创]

    Daphile 安装手册(Daphile Installation) 英文原文:https://www.daphile.com/download/DaphileInstallation.pdf 采集日 ...

  7. Elasticsearch官方文档离线访问实操指南

    文章转载自:https://mp.weixin.qq.com/s/Cn9ddkj-cne5pKtfOgNPbg 延申一下,不仅能下载Elasticsearch官方文档,还能下载其他软件的官方文档,详看 ...

  8. MyBatis官方文档——入门

    入门 安装 要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于 classpath 中即可. 如果使用 Maven 来构建项目,则需将下面的 dependency 代码置于 ...

  9. CentOS7.3利用kubeadm安装kubernetes1.7.3完整版(官方文档填坑篇)

    安装前记: 近来容器对企业来说已经不是什么陌生的概念,Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿 ...

随机推荐

  1. eclipse设置text file encoding UTF-8和文件的换行符 Unix 格式

    阿里华山版java开发手册代码格式第10条: 步骤:1.Window - Preferences, 2.左边选择 General - Workspace , 3.右边Text file encodin ...

  2. STM32之复用功能

    复用功能分复用输入,复用输出,STM32芯片内部集成多种模块,如GPIO.串口.i2c等,为使IO端口支持这些模块,厂家对IO端口进行扩展,同一个端口通过设置寄存器会有不同的功能.如下图IO结构图: ...

  3. Python03之单引号、双引号、三单引号、三双引号

    今天在学习字符串的时候,发现字符串有时使用单引号,有时使用双引号,而有时还使用三引号.至此我整理如下: 单引号和双引号区别.三单引号和三双引号也没什么区别. 一: 两单引号之间不可以出现单引号,如果出 ...

  4. Windows Subsystem for Linux(wsl)使用

    由于项目有一些环境需要在linux环境运行.可用微软win10的WSL来搭配使用 安装wsl 控制面板--程序和功能--启用或关闭windows功能,适用于linux的windows系统 应用商城下载 ...

  5. Python——多态、检查类型

    一.多态 Python变量并不需要声明类型,同一个变量可以在不同的时间引用不同的对象,当一个变量在调用同一个方法,可以呈现出多种行为,而具体呈现出哪种行为由该变量引用的对象来决定,这就是多态. 先看一 ...

  6. Git学习(二)——使用Git协同开发

    项目协同开发git操作 基本流程 1.开发前,拉一次远程仓库 2.工作区进行开发 3.将开发结果提交到本地版本库 git status查看时没有待处理的事件 4.拉取远程仓库(每一次要提交远程仓库前必 ...

  7. 机器学习之softmax回归笔记

    本次笔记绝大部分转自https://www.cnblogs.com/Luv-GEM/p/10674719.html softmax回归 Logistic回归是用来解决二类分类问题的,如果要解决的问题是 ...

  8. Spring Boot使用@Value注解获取配置文件中的属性

    获取配置文件的内容——

  9. mouseenter 与 mouseover 区别于选择

    mouseover事件, 箭头在子元素移动会触发冒泡事件,  子元素的鼠标箭头可触父元素方法, 相反,mouseenter事件功能与mouseover类似, 但鼠标进入某个元素不会冒泡触发父元素方法. ...

  10. Go part 6 接口,接口排序,接口嵌套组合,接口与类型转换,接口断言

    接口 接口是一种协议,比如一个汽车的协议,就应该有 “行驶”,“按喇叭”,“开远光” 等功能(方法),这就是实现汽车的协议规范,完成了汽车的协议规范,就实现了汽车的接口,然后使用接口 接口的定义:本身 ...