Mybatis学习笔记之---环境搭建与入门
Mybatis环境搭建
(一)环境搭建
(1)第一步:创建maven工程并导入jar包
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.41</version>
- </dependency>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>3.4.6</version>
- </dependency>
- </dependencies>
(2)第二步:创建实体类和dao的接口
(3)第三步:创建Mybatis的主配置文件SqlMapperConfig.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPEconfiguration
- PUBLIC"-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <!--mybatis的主配置文件-->
- <configuration>
- <!--配置环境-->
- <environments default="mysql">
- <!--配置mysql环境-->
- <environment id="mysql">
- <!--配置事务的类型-->
- <transactionManager type="JDBC"></transactionManager>
- <!--配置数据源(连接池)-->
- <dataSource type="POOLED">
- <!--配置连接数据库的4个基本信息-->
- <property name="driver" value="com.mysql.jdbc.Driver"></property>
- <property name="url" value="jdbc:mysql://localhost:3306/zml?useUnicode=true&characterEncoding=utf-8"></property>
- <property name="username" value="root"></property>
- <property name="password" value="root"></property>
- </dataSource>
- </environment>
- </environments>
- <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
- <mappers>
- <mapper resource="dao/UserDao.xml"></mapper>
- </mappers>
- </configuration>
(4)第四步:创建映射配置文件UserDao.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPEmapper
- PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="dao.UserDao">
- <select id="findAll" resultType="entity.Users">
- select * from users;
- </select>
- </mapper>
(二)环境搭建的注意事项
(1)创建UserDao.xml和UserDao.java时名称是为了和我们之前的知识保持-致。在Mybatis中它把持久层的操作接口名称和映射文件也叫做:Mapper所以:UserDao和UserMapper是一样的
(2)在idea中创建目录的时候,它和包是不一样的包在创建时:com.itheina.dao它是三级结构目录在创建时:com.itheima.dao是一级目录
(3)mybatis的映射配置文件位置必须和dao接口的包结构相同
(4)映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
(5)映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名,当我们遵从了第三,四,五点之后,我们在开发中就无须再写dao的实现类
(三)第一个Mybatis实例
(1)第一步:
pom.xml
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.11</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.41</version>
- </dependency>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>3.4.6</version>
- </dependency>
- </dependencies>
(2)第二步:
Users.java
- package entity;
- public class Users {
- private int id;
- private String username;
- private String password;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- @Override
- public String toString() {
- return "Users{" +
- "id=" + id +
- ", username='" + username + '\'' +
- ", password='" + password + '\'' +
- '}';
- }
- }
UserDao.java
- package dao;
- import entity.Users;
- import java.util.List;
- public interface UserDao {
- List<Users> findAll();
- }
(3)第三步:
SqlMapperConfig.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPEconfiguration
- PUBLIC"-//mybatis.org//DTD Config 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-config.dtd">
- <!--mybatis的主配置文件-->
- <configuration>
- <!--配置环境-->
- <environments default="mysql">
- <!--配置mysql环境-->
- <environment id="mysql">
- <!--配置事务的类型-->
- <transactionManager type="JDBC"></transactionManager>
- <!--配置数据源(连接池)-->
- <dataSource type="POOLED">
- <!--配置连接数据库的4个基本信息-->
- <property name="driver" value="com.mysql.jdbc.Driver"></property>
- <property name="url" value="jdbc:mysql://localhost:3306/zml?useUnicode=true&characterEncoding=utf-8"></property>
- <property name="username" value="root"></property>
- <property name="password" value="root"></property>
- </dataSource>
- </environment>
- </environments>
- <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
- <mappers>
- <mapper resource="dao/UserDao.xml"></mapper>
- </mappers>
- </configuration>
(4)第四步
UserDao.xml
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPEmapper
- PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="dao.UserDao">
- <select id="findAll" resultType="entity.Users">
- select * from users;
- </select>
- </mapper>
(5)第五步:创建测试类
UserTest.java
- package test;
- import dao.UserDao;
- import entity.Users;
- 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 java.io.IOException;
- import java.io.InputStream;
- import java.util.List;
- public class UserTest {
- @Test
- public void findall() throws IOException {
- //1.读取配置文件
- InputStream in= Resources.getResourceAsStream("SqlMapperConfig.xml");
- //2.创建SqlSessionFactory工厂
- SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
- SqlSessionFactory factory=builder.build(in);
- //3.使用工厂生产SqlSession对象
- SqlSession session=factory.openSession();
- //4.使用SqlSession创建dao接口的代理对象
- UserDao UserDaoImpl=session.getMapper(UserDao.class);
- //5.使用代理对象执行方法
- List<Users> users=UserDaoImpl.findAll();
- for(Users u:users){
- System.out.println(u);
- }
- //6.释放资源
- session.close();
- in.close();
- }
- }
Mybatis学习笔记之---环境搭建与入门的更多相关文章
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- 我的Java学习笔记 -开发环境搭建
开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE) ...
- Django学习笔记 开发环境搭建
为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...
- cocos2d-x lua 学习笔记(1) -- 环境搭建
Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...
- SpringData JPA的学习笔记之环境搭建
一.环境搭建 1.加入jar包 spring jar+jpa jar +springData jar >>SpringData jar包 2.配置applicationCont ...
- 前端框架vue学习笔记:环境搭建
兼容性 不兼容IE8以下 Vue Devtools 能够更好的对界面进行审查和调试 环境搭建 1.nodejs(新版本的集成了npm)[npm是node包管理 node package manager ...
- Web安全测试学习笔记 - vulhub环境搭建
Vulhub和DVWA一样,也是开源漏洞靶场,地址:https://github.com/vulhub/vulhub 环境搭建过程如下: 1. 下载和安装Ubuntu 16.04镜像,镜像地址:htt ...
- 【Django学习笔记】-环境搭建
对于初学django新手,根据以下步骤可以快速进行Django环境搭建 虚拟环境创建 使用virtualenv创建并启用虚拟机环境 ,关于virtualenv可参考https://www.yuque. ...
- Mybatis-Plus 实战完整学习笔记(二)------环境搭建
第二章 使用实例 1.搭建测试数据库 -- 创建库 CREATE DATABASE mp; -- 使用库 USE mp; -- 创建表 CREATE TABLE tbl_employee( ...
随机推荐
- Python与C/C++相互调用
参考链接:https://www.cnblogs.com/yanzi-meng/p/8066944.html
- TCP UDP (转)
互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作 ...
- 关于在记事本写入"\n"不显示换行的原因
Linux系统下直接使用 "\n" 即可换行 windows下需要使用 "\r\n"
- 9.22考试 crf的视察 题解
这道题当时第一反应就是一道典型的NOIP第一题的难度,绝对要A掉,不然分数一定会被拉开. 然后就开始分析,暴力是一开始想的是用二维树状数组打加上暴力枚举长度,然而这道题满足二分性质,所以时间复杂度就是 ...
- 前端经常碰到的小知识点-----js篇
一 js 1.可视区宽和高 ① document.documentElement.clientWidth //可视区的宽度 document.documentElement.clientHei ...
- EnjoyingSoft之Mule ESB开发教程第四篇:Mule Expression Language - MEL表达式
目录 1. MEL的优势 2. MEL的使用场景 3. MEL的示例 4. MEL的上下文对象 5. MEL的Variable 6. MEL访问属性 7. MEL操作符 本篇主要介绍Mule表达式语言 ...
- 【Android UI】顶部or底部菜单的循环滑动效果一
实现了分页的滑动效果,做的demo流畅运行 注:貌似支持的样式(控件)有一定的限制,我试过短信的listview页面,暂无法实现滑动效果 java文件:MainActivity.java.Activi ...
- [vue折线图] 记录SpringBoot+Vue3.0折线图订单信息展示
因公司业务需求,需要做一份订单相关的折线图, 如果其中有一天没有订单的话,这一天就是空缺的,在绘制折线图的时候是不允许的,所有要求把没有订单数据的日期也要在图表显示. 使用技术vue3.0+sprin ...
- 模拟ssh远程执行命令,粘包问题,基于socketserver实现并发的socket
06.27自我总结 1.模拟ssh远程执行命令 利用套接字编来进行远程执行命令 服务端 from socket import * import subprocess server = socket(A ...
- c语言进阶12-线性表之顺序表
一. 线性表的定义 为什么要学习线性表呢? 因为我们日常生活中存在种数据关系,计算机程序是为了解决日常生活的数据关系,因此我们要学习线性表. 线性表是什么呢? 线性表是由n个元素组成的有限序列. 需 ...