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. 网站证书(SSL域名证书)常见格式使用

    主流的Web服务软件通常都基于两种基础密码库:OpenSSL和Java 1.Tomcat.Weblogic.JBoss等系统是使用Java提供的密码库.通过Java的Keytool工具,生成Java ...

  2. SPSS 2019年10月24日 今日学习总结

    2019年10月24日今日课上内容1.SPSS掌握基于键值的一对多合并2.掌握重构数据3.掌握汇总功能 内容: 1.基于键值的一对多合并 合并文件 添加变量 合并方法:基于键值的一对多合并 变量 2. ...

  3. 开源软件“meld”-替代beyond compare -- & 放在linux命令后面真好用

    1, 使用技巧 命令行直接对比文件 meld dir1 dir2 & 亦可以直接打开界面进行类似beyondCompare的操作. { & 放在命令后面表示设置此进程为后台进程 默认情 ...

  4. 服务注册与发现—Eureka

    一:Eureka简介 Eureka的意思是(因找到某物,尤指问题的答案而高兴) 我发现了,我找到了,作为一个服务注册和发现中心的名字确实很贴切啊. Eureka包含两个组件,Eureka Server ...

  5. Java静态分派和动态分派

    前言 动态分派和静态分派机制是Java多态实现的原理.本文将针对这两种机制进行浅析. 静态分派 静态分派机制最典型的代码示例如下 void test() { Father father = new S ...

  6. Python21之内嵌函数和闭包

    一.内嵌函数 内嵌函数指的是在一个函数体内部定义的函数,可以称它为函数的函数,也就是子函数,外部的函数称之为母函数,就类似局部变量和全局变量 子函数体内定义的变量只在其函数内部有效,但其内部可以调用母 ...

  7. 【MIT 6.824 】分布式系统 课程笔记(二)Lecture 03 : GFS

    Lecture 03 : GFS 一.一致性 1, 弱一致性 可能会读到旧数据 2, 强一致性 读到的数据都是最新的 3, 一致性比较 强一致性对于app的写方便, 但是性能差 弱一致性有良好的性能, ...

  8. input的小技巧 清除自动记录

    input 消除自动记忆功能 在html里就可以直接清除了<input type="text" autocomplete="off"> input ...

  9. python学习-53 正则表达式

    正则表达式 就其本质而言,正则表达式是一种小型的/高度专业化的编程语言,它内嵌在python中,并通过RE模块实现,正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行. 1.元字符 - ...

  10. drbd+nfs+keepalived

    写的很详细 理论知识: https://www.cnblogs.com/kevingrace/p/5740940.html 写的很详细 负载: https://www.cnblogs.com/kevi ...