mybatis 基本配置 学习总结01
Mybatis
1、什么是Mybatis
- Mybatis是一款优秀的持久层框架。
- 几乎避免了所有JDBC代码和手动设置参数以及获取结果集的过程。
- Mybatis是一个半自动化的ORM框架(Object Relationship Mapping)
持久化:将程序数据在持久状态和瞬时状态间转换的机制。(保存到可永久存储的设备中:磁盘...)
什么是持久层?
完成持久化工作的代码块:dao层【DAO (Data Access Object)数据访问对象】
2、第一个程序:
1、数据库
CREATE DATABASE `mybatis`;
USE `mybatis`;
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int(20) NOT NULL,
`name` varchar(30) DEFAULT NULL,
`pwd` varchar(30) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
insert into `user`(`id`,`name`,`pwd`) values (1,'狂神','123456'),(2,'张三','abcdef'),(3,'李四','987654');
2、IDEA创建项目
Create New Project --> Maven -->Next -->Location(项目的位置) --> Finish
3、导入所需的jar包
找jar包例子:如:找mybatis的jar
- 百度 “mybatis mvn”
- 点击要用到的jar包名
- 选择版本
- 复制maven
pom.xml:
<!--总依赖标签-->
<dependencies>
<!--mybatis 使用所需的依赖-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.2</version>
</dependency>
<!--sql 连接的依赖-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
4、创建文件
1、创建mybatis-config.xml
右键resources --> new --> File --> 填“mybatis-config.xml”
mybatis-congif.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"> <!-- 总环境 默认:development -->
<environment id="development"> <!-- 环境 名为:development -->
<transactionManager type="JDBC"/> <!-- 事务管理器 类型:JDBC (事务:确保操作完整性,要么成功要么失败)-->
<dataSource type="POOLED"> <!-- 数据源 类型:POOLED-->
<property name="driver" value="com.mysql.jdbc.Driver"/> <!--属性 名:驱动 值:..mysql(使用的何种数据库).. -->
<!-- 属性 名:url 值:数据连接地址+规则(如:字符集:UTF-8) -->
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&useUnicode=true&characterEncoding=utf8"/>
<property name="username" value="root"/> <!-- 属性 名:数据库用户名 值:root-->
<property name="password" value="123"/> <!--属性 名:密码 值:123456 -->
</dataSource>
</environment>
</environments>
<mappers> <!--映射器 -->
<mapper resource="com/dao/userMapper.xml"/> <!-- 映射 资源:userMapper.xml -->
</mappers>
</configuration>
2、User 实体类
点开java(文件是蓝色)--> 右键 --> new --> Package --> 填入“com.pojo” -- >
右键:pojo文件 --> new --> Java Class --> 命名为“User”
生成get、set的快捷键:Alt + Insert (如:选择了set后,Ctrl+A全选所有的成员生成set方法)
User.java
package com.pojo;
public class User {
private int id;
private String name;
private String pwd;
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getPwd() {
return pwd;
}
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
3、UserMapper.xml
右键com --> New --> Package --> 填"com.dao"
右键dao --> File --> 填“UserMapper.xml”
这里将会有一个问题:IDEA不会编译src的main中java文件里的.xml文件(需要进行过滤放置)
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="com.dao.UserMapper"> <!-- 映射器 命名空间:映射到那个类的地址 -->
<select id="selectUser" resultType="com.pojo.User"> <!-- 查询 名:selectUser 结果类型:com.pojo.User -->
select * from user
</select>
</mapper>
4、UserMapper (接口)
右键com (packge) --> new --> Packege --> 填“com.dao"
右键 dao --> New -- >Class --> Interface --> 填“UserMapper”
UserMapper
package com.dao;
import com.pojo.User;
import java.util.List;
public interface UserMapper {
List<User> selectUser();
}
5、MyBatisUtils工具类
右键目录java(蓝色)--> new --> Package --> utils
右键utils ---> New -->Java Class ---> 填“MybatisUtils”
MybatisUtils.java
package utils;
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 java.io.IOException;
import java.io.InputStream;
public class MybatisUtils {
private static SqlSessionFactory sqlSessionFactory;
static{
try {
String resource = "mybatis-config.xml"; // 获取资源文件路径
InputStream inputStream = Resources.getResourceAsStream(resource); //读取文本数据
sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); // 创造工厂
} catch (IOException e) {
e.printStackTrace();
}
}
public static SqlSession getSession() {
return sqlSessionFactory.openSession();
}
}
6、MyTest
点击test --> 右键java(绿色) -->new --> Java Class --> 填“MyTest”
import com.dao.UserMapper;
import com.pojo.User;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;
import utils.MybatisUtils;
import java.util.List;
public class MyTest {
@Test
public void selectUser() {
SqlSession session = MybatisUtils.getSession();
UserMapper mapper = session.getMapper(UserMapper.class);
List<User> users = mapper.selectUser();
for (User user: users){
System.out.println(user);
}
session.close();
}
}
7、静态资源过滤
运行程序后出现异常:Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/dao/userMapper.xml
原因:idea不会编译src的java目录的xml文件(被过滤掉)
需要配置过滤文件,让其能够在src中使用.xml文件
pom.xml
<!--配置过滤器不过滤java文件里面的 .properties和 .xml文件
不过滤resources文件里面的 .properties和 .xml文件 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
mybatis 基本配置 学习总结01的更多相关文章
- Mybatis环境配置学习
Mybatis的使用环境配置步骤主要分为以下三步 1.导入jar包 2.创建mybatis的全局配置文件,并编写 3.创建mapper的配置文件 一.导入jar包 --- (踩坑:这一步中的导入mys ...
- 1.2(Mybatis学习笔记)Mybatis核心配置
一.Mybatis核心对象 1.1SqlSeesionFactory SqlSessionFactory主要作用是创建时SqlSession. SqlSessionFactory可通过SqlSessi ...
- AgileEAS.NET SOA 中间件平台5.2版本下载、配置学习(二):配置WinClient分布式运行环境
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
- SSM ( Spring 、 SpringMVC 和 Mybatis )配置详解
使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没 ...
- Java数据持久层框架 MyBatis之API学习八(Java API详解)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- Java数据持久层框架 MyBatis之API学习四(xml配置文件详解)
摘录网址: http://blog.csdn.net/u010107350/article/details/51292500 对于MyBatis的学习而言,最好去MyBatis的官方文档:http:/ ...
- mybatis原理分析学习记录,mybatis动态sql学习记录
以下个人学习笔记,仅供参考,欢迎指正. MyBatis 是支持定制化 SQL.存储过程以及高级映射的持久层框架,其主要就完成2件事情: 封装JDBC操作 利用反射打通Java类与SQL语句之间的相互转 ...
- [教程] Spring+Mybatis环境配置多数据源
一.简要概述 在做项目的时候遇到需要从两个数据源获取数据,项目使用的Spring + Mybatis环境,看到网上有一些关于多数据源的配置,自己也整理学习一下,然后自动切换实现从不同的数据源获取数据功 ...
- SpringMVC+Spring+mybatis项目从零开始--Spring mybatis mysql配置实现
上一章我们把SSM项目结构已搭建(SSM框架web项目从零开始--分布式项目结构搭建)完毕,本章将实现Spring,mybatis,mysql等相关配置. 1. 外部架包依赖引入 外部依赖包引入 ...
随机推荐
- 学习jsp篇:jsp Session介绍
1.Session基本介绍 Session---会话,它是一个内置对象.会话打个比方说就是浏览网站:开始到结束,或者说购物从开始到结束. 2.Session机制 客户端在第一次请求服务端时,服务端会产 ...
- Ajax向服务器发起请求
Ajax向服务器发起请求的三个步骤: 1:创建Ajax 2:打开Ajax,打开Ajax请求 3:向服务器发起请求:需要知道地址和是get请求还是post方法 向服务器发起请求的两个方法:open 和 ...
- NoSQL 之 Redis配置与优化
NoSQL 之 Redis配置与优化 1.关系数据库与非关系型数据库概述 2.关系数据库与非关系型数据库区别 3.非关系型数据库产生背景 4.Redis简介 5.Redis安装部署 6.Redis 命 ...
- MySQL 索引、事务与存储引擎
MySQL 索引.事务与存储引擎 1.索引 2.事务 3.存储引擎 1.索引: 索引的概念 : 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址 ...
- YOLOv5模型训练及检测
一.为什么使用YOLOv5 二.软件工具 2.1 Anaconda https://www.anaconda.com/products/individual 2.2 PyCharm https://w ...
- 汇聚优质AR应用开发者,技术助力AR领域繁荣生态
本文分享于HMS Core开发者论坛<EasyAR--汇聚优质AR应用开发者,技术助力AR领域繁荣生态>采访文字稿 EasyAR空间计算平台为应用开发者提供稳定建图.定位能力和完善工具链, ...
- ios开发 Pods工具心得
Pods 这也是我的第一篇微博,希望能给大家带来帮助,也便于我自己温习 第一步:新建一个xcode项目(这个不解释了) 第二步:打开终端(剩下的操作都在终端里面了)
- validator参数校验
目录 validator参数校验 validator参数校验 type Req struct { Sn string `json:"sn" binding:"requir ...
- 数据分析工具那么多,掌握Smartbi这一个就够了!
经常听见有人问,数据分析用什么工具好? 被大家熟知的数据分析工具有很多,比如Excel.BI.R.Python--具体选择哪个这要看个人的需求,如果非要说哪个好,其中BI工具小编觉得"老少皆 ...
- 重点收藏!BI数据分析工具哪家强?
信息爆炸时代,大数据晋升为一个时髦词汇.不论是在哪个行业领域,大数据分析成为各企业备受推崇的决策工具.对于海量数据的挖掘,有助于统计事情发生的概率,帮助人们计算做某些事情成功的几率.企业正在数据的海洋 ...