1. MyBatis 环境搭建 jar 包详解

1.1 创建项目

java project

1.2 导入 jar 包

1.2.1 MyBatis 核心 jar

mybatis-3.2.7.jar

1.2.2 MyBatis 依赖的 jar

asm-3.3.1.jar 字节码解析包, 被cglib依赖

cglib-2.2.2.jar 动态代理的实现

commons-logging-1.1.1.jar 日志包

javassist-3.17.1-GA.jar 字节码解析包

log4j-1.2.17.jar 日志包

log4j-api-2.0-rc1.jar 日志

log4j-core-2.0-rc1.jar 日志

slf4j-api-1.7.5.jar 日志

slf4j-log4j12-1.7.5.jar 日志

1.2.3 驱动 jar

mysql-connector-java-5.1.30.jar

核心配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration><properties resource="db.properties"/><settings><!-- 设置MyBatis使用log4j日志支持 -->  <setting name="logImpl" value="LOG4J"/> </settings><!-- 用于指定使用哪个环境 default: 用于指定使用的环境id --><environments default="development"><!-- 用于配置开发环境     id: 环境的唯一识别码    --><environment id="development"><!-- 事务管理器 type: 用于设置mybatis采用什么方式管理事务   JDBC表示采用和JDBC一样的事务管理方式   --><transactionManager type="JDBC"></transactionManager><!--数据源/连接池, 用于配置连接池和数据库连接的参数 type: 用于设置mybatis是否采用连接池技术      POOLED表示MyBatis采用连接池技术  --><dataSource type="POOLED"><property name="driver" value="${jdbc.driver}" /><property name="url" value="${jdbc.url}" /><property name="username" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" />  </dataSource></environment></environments><!-- 扫描mapper文件 --> <mappers><mapper resource="com/sxt/mapper/UserMapper.xml"/></mappers>
</configuration>

映射配置文件

<?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: 命名空间, 可以随意定义, 一般情况下要写全限定路径  MyBatis管理SQL语句是通过namespace+id来定位的  --><mapper namespace="com.bjsxt.mapper.UserMapper"> <!--    select标签用于编写查询语句   id: sql语句的唯一标识, 类比为方法名   resultType: 用于设定返回结果的类型(全限定路径)    如果返回结果是集合, 要写集合泛型的类型   -->
<select id="selAll" resultType="com.bjsxt.pojo.User">select * from t_user
</select>
</mapper>

核心详解

1.1 <configuration>

这是配置文件的根元素, 所有的其他元素都要在这个标签下

使用.

1.2 <environments>

用于管理所有的环境, 并可以指定默认使用哪个环境. 通过

default 属性来指定.

1.3 <environment>

用于配置环境. id 属性用于唯一标识当前环境

1.4 <transactionManager>

用于配置事务管理器

1.4.1 type 属性

用于指定 MyBatis 采用何种方式管理事务 a) JDBC: 表示 MyBatis 采用与原生 JDBC 一致的方式管理事务

b) MANAGED: 表示将事务管理交给其他容器进行, 例如 Spring

1.5 <DataSource>

用于配置数据源, 设置 MyBatis 是否使用连接池技术, 并且配置数据 库连接的四个参数

1.5.1 type 属性

用于设置 MyBatis 是否使用连接池技术 a) POOLED, 表示采用连接池技术

b) UNPOOLED, 表示每次都会开启和关闭连接, 不使用连接池技术

c) JNDI, 使用其他容器(例如 Spring)提供数据源

1.6 <property>

用于配置数据库连接参数(driver, url, username, password)

1.7 <mappers>

用于扫描 mapper 信息

2. mapper 映射配置文件详解

2.1 <mapper>

根元素

2.1.1 namespace 属性

用于指定命名空间, mybatis 是通过 namespace+id 的方式来定位 SQL 语句的, 所以必须指定namespace. 通常namespace被配置为全限定路 径

2.2 <select>

用于定义查询语句(DQL)

2.2.1 id 属性

用于唯一表示 SQL 语句, 类似于方法的方法名

2.2.2 resultType 属性

用于设定查询返回的数据类型, 要写类型的全限定路径. 如果返回的 是集合类型, 要写集合的泛型的类型.

常用的三个查询方法

package com.sxt.test;import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import java.util.Map;
import java.util.Set;import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;import com.sxt.pojo.User;public class TsetSelectList{@Testpublic void testSelectList() throws IOException {InputStream is = Resources.getResourceAsStream("mybatis.xml");SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);SqlSession session = factory.openSession();List<User> list = session.selectList("com.sxt.mapper.UserMapper.selAll");System.out.println(list);for (User user : list) {System.out.println(user);}session.close();}@Testpublic void testSelectOne() throws IOException {InputStream is = Resources.getResourceAsStream("mybatis.xml");SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);SqlSession session = factory.openSession();User user = session.selectOne("com.sxt.mapper.UserMapper.selOne");System.out.println(user);session.close();}@Testpublic void testSelectMap() throws IOException {InputStream is = Resources.getResourceAsStream("mybatis.xml");SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);SqlSession session = factory.openSession();Map<Integer, User> map = session.selectMap("com.sxt.mapper.UserMapper.selAll", "id");System.out.println(map);Set<Integer> set = map.keySet();for (Integer k : set) {System.out.println(map.get(k));}session.close();}
}

selectList

用于查询多条数据的情况, 返回值是一个 list 集合. 如果没有查到任 何数据, 返回没有元素的集合(空集合, 不是 null)

selectOne

用于查询单条数据的情况, 返回值是一个对象. 如果没有查到任何数 据, 返回 null

selectMap

用于查询多条数据的情况, 多条数据要形成一个 Map 集合. 需要指 定哪个属性作为 key. 如果查不到, 返回一个空 map 集合(不是 null)

LOG4J

1.1 log4j 简介

a) log4j 是 Apache 提供的一款记录日志的工具

b) log4j 既可以将日志信息打印在控制台, 也可以打印输出

到一个日志文件中.

c) log4j 可以定制日志的输出格式

d) log4j 可以定制日志级别

1.2 日志级别

1.2.1 FATAL

致命的, 表示非常严重的错误, 一般是系统错误

1.2.2 ERROR

错误, 表示代码错误, 比较严重

1.2.3 WARN

警告, 不影响程序的运行, 但是可能存在风险.

1.2.4 INFO

信息, 表示一个普通的输出信息

1.2.5 DEBUG

调试, 表示程序员人为的一些调试信息

. mybatis指定配置文件的根元素_MyBatis框架相关推荐

  1. Mybatis出现文档根元素 mapper 必须匹配 DOCTYPE 根 configuration错误解决办法

    重新学习一下Mybatis的知识,写了个例子,运行时报错信息如下: org.apache.ibatis.exceptions.PersistenceException: ### Error build ...

  2. mybatis insert 重复数据2条_Mybatis框架lt;增gt;:添加一条数据到数据库中,insert...

    在以上框架中,前面所搭建好的框架全部固定好,接下来,我们在此基础上实现功能使用insert添加一条数据到数据库中(1)在UserMapper接口中添加对应方法,//在数据库表中增添一条数据,返回为in ...

  3. 【SSM框架系列】Mybatis映射配置文件与核心配置文件深入

    传统开发方式Dao层实现 编写UserDao接口 public interface UserDao {List<User> findAll() throws IOException;} 编 ...

  4. ORM框架之Mybatis(五)mybatis生成器配置文件说明以及生成的类的说明

    一.XML配置详解 1.1 mybatis generator配置文件约束 <?xml version="1.0" encoding="UTF-8"?&g ...

  5. mybatis mysql 配置文件_Mybatis配置文件详解(4)

    本次主要来了解: MyBatis数据库配置文件SqlMapConfig.xml SQL映射配置中输入映射的配置 SQL映射配置中输出映射的配置 SQL映射配置中动态SQL语句的配置 1. SqlMap ...

  6. Mybatis之配置文件与映射文件的“那些事”,你真的知道吗?

    编译软件:IntelliJ IDEA 2019.2.4 x64 操作系统:win10 x64 位 家庭版 Maven版本:apache-maven-3.6.3 Mybatis版本:3.5.6 目录 一 ...

  7. java元婴期(23)----java进阶(mybatis(2)---mapper代理mybatis核心配置文件输入输出映射)

    1.mapper代理 1.mybatis开发dao的方法----引入(为啥要使用mapper代理) 1.SqlSession使用范围 1.SqlSessionFactoryBuilder 通过SqlS ...

  8. Caused by: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 104; 文档根元素 mapper 必须匹配 DOCT

    – 使用框架:spring boot mybatis – 会出现这种异常,都是对应的xml的头部配置缺少所引发的 Caused by: org.xml.sax.SAXParseException; l ...

  9. idea的tomcat配置文件在哪里修改_MyBatis配置文件详解

    MyBatis 的配置文件包含了会影响 MyBatis 行为的设置和属性信息,决定了mybatis的运行轨迹,能充分了解这些配置的以及配置所带来的的影响,你就是大神! 配置文件的根节点是configu ...

最新文章

  1. asyncdata 获取参数_载入页面初始数据(asyncData)《 Nuxt.js:异步数据 》
  2. 央视首位AI手语主播亮相,动作精确、实时转译,网友:能接住广权的段子么?...
  3. Index of open source
  4. NYOJ -123 士兵杀敌(四)
  5. AM5728通过GPMC接口与FPGA高速数据通信实现
  6. 关于父窗口、子窗口的操作(如关闭、打开、调用方法、刷新等等)
  7. 简单的javascript计算器
  8. 渗透测试专业术语——防守篇
  9. NC单据模板公式使用
  10. 在html中加入中文字体,css设置中文字体
  11. 【校园卡】2020移动联通电信校园卡对比
  12. Elasticsearch嵌套式对象Nested分析
  13. S7-1200通过FB284控制V90时,反馈的实际速度换算方法
  14. lr背景虚化_LR调色教程,用LR调出后期唯美cosplay人像思路及案例(3)
  15. Mvvm模式: Databinding 与 ViewModel+LiveData+Repository
  16. 日媒:争夺中国人才,跨国公司败北
  17. innerHTML用法
  18. 个性化茅台之中国酒韵·十大花鸟
  19. 电源完整性仿真PDN-电源完整性是什么?
  20. 软件可以下载到移动硬盘里面吗

热门文章

  1. 你需要知道的基础算法知识——STL和基础数据结构(七)
  2. 电子计算机工程学,电子计算机工程学荣誉工学士资料.ppt
  3. matlab自带图片下载,数字图像处理中Matlab的应用.pdf
  4. jpypePython对象转JAVA_通过JPype和numpy将Java类型转换为Python
  5. 大学大专mysql考试试卷_MySQL数据库基础应用-中国大学mooc-试题题目及答案
  6. CSS层叠样式选择器归纳
  7. Android应用第一次安装成功点击“打开”后Home键切出应用后再点击桌面图标返回导致应用重启问题...
  8. saltstack之基础入门系列文章简介
  9. jQuery Ajax实现下拉框无刷新联动
  10. dephi(pascal)中修改Label字体的样式(加粗,斜体,下划线)