Mybatis环境配置学习
Mybatis的使用环境配置步骤主要分为以下三步
1.导入jar包
2.创建mybatis的全局配置文件,并编写
3.创建mapper的配置文件
一。导入jar包 --- (踩坑:这一步中的导入mysql驱动包总是忘记)
(1)需要导入 mybatis的jar包
(2)需要导入 mybatis的依赖包(即一些辅助包)
(3)需要导入 相应数据库的驱动jar包 --- 这里我导入的是 mysql-connector-8.0的jar包
二。mybatis的全局配置文件
首先,在新建的Java Web项目的 src 源文件下 新建一个 mybatis.xml (文件名和文件位置并没有硬性要求,但是这样操作更合理更方便)
在进行mybatis.xml编写时,需要先引入 DTD,如下所示。其中具体的导入方式可以在 Mybatis的帮助文档的入门里查到
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
执行完上述操作之后,需要开始mybatis.xml的具体内容配置
标签书写顺序依次为 <configuration>标签 --------- <environments>标签 ------ <environment>标签 ------ <transactionManager>标签 和 <dataSource>标签 ----- <dataSource>标签内容写入 个 <property />单标签
具体内容如下所示
<?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="default">
<environment id="default">
<transactionManager type="JDBC">
</transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/ssm?characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false" />
<property name="username" value="" />
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<!-- mapper.xml配置好之后,在mybatis.xml中更新导入其配置文件 -->
<mappers>
<!-- xml文件导入的方式 -->
<mapper resource="com/xl/mapper/PeopleMapper.xml"/>
</mappers>
</configuration>
具体内容介绍:
<environments>标签的default属性 主要是根据 <environment> 的id属性 来确定 默认的<environment>标签
<environment>标签中使用id属性来 区分不同的数据库
<transactionManager>标签的type属性 JDBC --- 事务管理使用原生的JDBC事务管理
MANAGED --- 将事务管理转交给其他容器(主要用于Spring框架等) --- 此时JDBC事务为 setAutoMapping(false);
<dataSource>标签的 type属性 POOLED--使用数据库连接池
UNPOOLED---不使用数据库连接池---类似直接使用JDBC
JNDI---Java命名接口技术
<property />单标签 是用来存储进入相应数据库的信息参数的 name放置参数名 value放置相应的参数值
需要存储4个参数 driver,url,username,password ---- 名字不能有任何变化,必须一一对应,否则无法进入数据库
我使用的mysql数据库比较新,参数与旧版的驱动包有区别 ,(1)driver = “com.mysql.cj.jdbc.Driver” --- 踩坑 -- 最后的Driver的D要大写
(2) url = "jdbc:mysql://localhost:3306/数据库名?相应的一些参数" ---- ?后面跟的参数与JDBC中使用的稍有区别:& 需要使用 & 来表示(XML文件特性?)
三。实体类的相应mapper的配置
首先mapper的命名要规范 :我这里使用的是新建 相应的mapper包专门存储mapper.xml,并且命名为 实体类名+Mapper.xml
mapper.xml文件主要是用来 执行SQL语句的
首先同样要引入相应 DTD文件,方法操作同上,只不过这回要找的是mapper对应的DTD引入语句和文件
其次,需在mapper.xml文件中依次写入
<mapper>标签 ---- sql操作语句标签(如 <select>标签用来查询操作),我的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.xl.mapper.PeopleMapper">
<!-- 第一种选择 选择list -->
<!-- 注意*************** 这里的resultType值 如果是 实体类 一定要写 绝对路径 -->
<select id="selAll" resultType="com.xl.pojo.People">
select * from people
</select>
<!-- int是Integer的映射,但是这里会自动拆箱和装箱 _int是int类型的映射 -->
<select id="selOne" resultType="int">
select Count(*) from people
</select>
<select id="selMap" resultType="com.xl.pojo.People">
select * from people
</select>
</mapper>
其中值得注意的是mapper标签的 namespace属性,他是用来定位的,并没有具体的命名要求,但是之后寻找mapper.xml文件进行操作是需要 使用 namespace+id的路径组合
select标签的 id属性 也是用来定位的,一般是写入方法名
resultType属性用来定义此次操作返回的数据类型 --- 其中创建的实体类需要写入绝对路径,java自带数据类型需要写入相应的映射 --- 这里会提供自动强转
paramType属性用来定义此次操作需要传入的参数类型
mybatis中查询操作总共有三种:selectList("namespace+id");selectOne("namespace+id");selectMap("namespace+id","表中的某一个字段名")
最后的最后,最重要的一点:在配置完mapper.xml后,需要在 mybatis.xml文件下的 configuration标签下的mappers标签中 添加 mapper单标签;并在其中的 resource属性中给出引入的mapper.xml的绝对路径
Mybatis环境配置学习的更多相关文章
- idea spring+springmvc+mybatis环境配置整合详解
idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2. ...
- [教程] Spring+Mybatis环境配置多数据源
一.简要概述 在做项目的时候遇到需要从两个数据源获取数据,项目使用的Spring + Mybatis环境,看到网上有一些关于多数据源的配置,自己也整理学习一下,然后自动切换实现从不同的数据源获取数据功 ...
- MyBatis环境配置及入门
Mybatis 开发环境搭建,选择: MyEclipse8.5 版本,mysql 5.5, jdk 1.8, mybatis3.2.3.jar 包.这些软件工具均可以到各自的官方网站上下载. 整个过程 ...
- mybatis 基本配置 学习总结01
Mybatis 1.什么是Mybatis Mybatis是一款优秀的持久层框架. 几乎避免了所有JDBC代码和手动设置参数以及获取结果集的过程. Mybatis是一个半自动化的ORM框架(Object ...
- MyBatis环境配置
<settings> <!-- 使全局的映射器启用或禁用缓存. --> <setting name="cacheEnabled" value=&quo ...
- JDK安装与环境配置——学习JAVA的准备工作
1.安装JDK 官网,版本看了也不明白区别,我下载的第一个 JAVA SE 12 https://www.oracle.com/technetwork/java/javase/downloads/in ...
- mybatis环境配置与入门例子
1.jar包的导入 mybatis需要jar包:mybatis-3.4.6.jar mysql驱动jar包:mysql-connector-java-5.1.34.-bin.jar 日志记录jar包: ...
- selenium环境配置学习笔记
一 为什么进行自动化测试 缩短测试周期 避免人为出错 测试信息存储 轻易获取覆盖率 二 web/ui自动化条件和适用范围 手工测试已经完成,后期在不影响进度的前提下逐渐实现自动化 项目周期长,重复性工 ...
- SDL 开发实战(一):SDL介绍及开发环境配置
一.什么是SDL? SDL是 “Simple DirectMedia Layer”的缩写,SDL是一个开源的跨平台的多媒体库,封装了复杂的音视频底层操作,简化了音视频处理的难度. SDL使用C语言写成 ...
随机推荐
- centos7安装kubeadm
安装配置docker v1.9.0版本推荐使用docker v1.12, v1.11, v1.13, 17.03也可以使用,再高版本的docker可能无法正常使用. 测试发现17.09无法正常使用,不 ...
- IOS开发中关于runtime的认识
首先要知道我们写的代码在程序运行过程中都会被转化成runtime的C代码执行. runtime突出的一点就是OC中消息传递机制的应用.objc_msgsend(target,SEL); 首先我们先看一 ...
- NOIP-螺旋矩阵
题目描述 一个 n 行 n 列的螺旋矩阵可由如下方法生成: 从矩阵的左上角(第 1 行第 1 列)出发,初始时向右移动:如果前方是未曾经过的格子,则继续前进,否则右转:重复上述操作直至经过矩阵中所有格 ...
- Java-IO流之BufferedReader 和BufferedWriter的使用和原理
BufferedReader和BufferedWriter出现的目的是为了对FileReader以及FileWriter的读写操作进行增强,而怎么增强呢,原理类似于使用StringBuilder,是把 ...
- java课程之团队开发冲刺阶段1.7
一.总结昨天进度 1.昨天学习了对数据库增删改查的基本操作,并且可以使用代码实现操作 二.遇到的问题 1.由于是学习阶段,没有遇到太大阻碍,但是最终需要实现的是联网进行数据库的读写或者是对本地数据库的 ...
- spring-security权限管理学习目标
1.SVN基本介绍: 1.svn基本的概念 2.svn架构 3.svn下载与安装 4.svn搭建与基本操作 2.svn基本操作 1.操作1 2.操作2 3.冲突产生 4.冲突解决 3.SVN在IDEA ...
- 推荐自学JAVA开发的三本书
---------------------------------------------------------------------------------------------------- ...
- 微信小程序学习笔记(三)
一般setData方法多用于点击后改变页面信息或者刷新后与后台交互获取最新的信息 注意: 直接修改 this.data 而不调用 this.setData 是无法改变页面的状态的,还会造成数据不一致 ...
- C盘突然爆满
C盘突然爆满!幸好还开的机!~~ 因为是突然就爆满了,想着应该是虚拟内存的原因!于是就开始了探索.... 1.文件夹选项中把所有文件都显示出来. 2.在C盘你就会看到一个“pagefile.sys”的 ...
- WebAssembly让你的Javascript计算性能提升70%
现在的JavaScript代码要进行性能优化,通常使用一些常规手段,如:延迟执行.预处理.setTimeout等异步方式避免处理主线程,高大上一点的会使用WebWorker.即使对于WebWorker ...