Mybatis环境搭建

(一)环境搭建

(1)第一步:创建maven工程并导入jar包

  1. <dependencies>
  2. <dependency>
  3. <groupId>junit</groupId>
  4. <artifactId>junit</artifactId>
  5. <version>4.11</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>mysql</groupId>
  9. <artifactId>mysql-connector-java</artifactId>
  10. <version>5.1.41</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.mybatis</groupId>
  14. <artifactId>mybatis</artifactId>
  15. <version>3.4.6</version>
  16. </dependency>
  17.  
  18. </dependencies>

(2)第二步:创建实体类和dao的接口

(3)第三步:创建Mybatis的主配置文件SqlMapperConfig.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. <!DOCTYPEconfiguration
  4.  
  5. PUBLIC"-//mybatis.org//DTD Config 3.0//EN"
  6.  
  7. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  8.  
  9. <!--mybatis的主配置文件-->
  10.  
  11. <configuration>
  12.  
  13. <!--配置环境-->
  14.  
  15. <environments default="mysql">
  16.  
  17. <!--配置mysql环境-->
  18.  
  19. <environment id="mysql">
  20.  
  21. <!--配置事务的类型-->
  22.  
  23. <transactionManager type="JDBC"></transactionManager>
  24.  
  25. <!--配置数据源(连接池)-->
  26.  
  27. <dataSource type="POOLED">
  28.  
  29. <!--配置连接数据库的4个基本信息-->
  30.  
  31. <property name="driver" value="com.mysql.jdbc.Driver"></property>
  32.  
  33. <property name="url" value="jdbc:mysql://localhost:3306/zml?useUnicode=true&amp;characterEncoding=utf-8"></property>
  34.  
  35. <property name="username" value="root"></property>
  36.  
  37. <property name="password" value="root"></property>
  38.  
  39. </dataSource>
  40.  
  41. </environment>
  42.  
  43. </environments>
  44.  
  45. <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
  46.  
  47. <mappers>
  48.  
  49. <mapper resource="dao/UserDao.xml"></mapper>
  50.  
  51. </mappers>
  52.  
  53. </configuration>

(4)第四步:创建映射配置文件UserDao.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. <!DOCTYPEmapper
  4.  
  5. PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
  6.  
  7. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  8.  
  9. <mapper namespace="dao.UserDao">
  10.  
  11. <select id="findAll" resultType="entity.Users">
  12.  
  13. select * from users;
  14.  
  15. </select>
  16.  
  17. </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

  1. <dependencies>
  2. <dependency>
  3. <groupId>junit</groupId>
  4. <artifactId>junit</artifactId>
  5. <version>4.11</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>mysql</groupId>
  9. <artifactId>mysql-connector-java</artifactId>
  10. <version>5.1.41</version>
  11. </dependency>
  12. <dependency>
  13. <groupId>org.mybatis</groupId>
  14. <artifactId>mybatis</artifactId>
  15. <version>3.4.6</version>
  16. </dependency>
  17.  
  18. </dependencies>

(2)第二步:

Users.java

  1. package entity;
  2.  
  3. public class Users {
  4.  
  5. private int id;
  6.  
  7. private String username;
  8.  
  9. private String password;
  10.  
  11. public int getId() {
  12.  
  13. return id;
  14.  
  15. }
  16.  
  17. public void setId(int id) {
  18.  
  19. this.id = id;
  20.  
  21. }
  22.  
  23. public String getUsername() {
  24.  
  25. return username;
  26.  
  27. }
  28.  
  29. public void setUsername(String username) {
  30.  
  31. this.username = username;
  32.  
  33. }
  34.  
  35. public String getPassword() {
  36.  
  37. return password;
  38.  
  39. }
  40.  
  41. public void setPassword(String password) {
  42.  
  43. this.password = password;
  44.  
  45. }
  46.  
  47. @Override
  48.  
  49. public String toString() {
  50.  
  51. return "Users{" +
  52.  
  53. "id=" + id +
  54.  
  55. ", username='" + username + '\'' +
  56.  
  57. ", password='" + password + '\'' +
  58.  
  59. '}';
  60.  
  61. }
  62.  
  63. }

UserDao.java

  1. package dao;
  2.  
  3. import entity.Users;
  4.  
  5. import java.util.List;
  6.  
  7. public interface UserDao {
  8.  
  9. List<Users> findAll();
  10.  
  11. }

(3)第三步:

SqlMapperConfig.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. <!DOCTYPEconfiguration
  4.  
  5. PUBLIC"-//mybatis.org//DTD Config 3.0//EN"
  6.  
  7. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  8.  
  9. <!--mybatis的主配置文件-->
  10.  
  11. <configuration>
  12.  
  13. <!--配置环境-->
  14.  
  15. <environments default="mysql">
  16.  
  17. <!--配置mysql环境-->
  18.  
  19. <environment id="mysql">
  20.  
  21. <!--配置事务的类型-->
  22.  
  23. <transactionManager type="JDBC"></transactionManager>
  24.  
  25. <!--配置数据源(连接池)-->
  26.  
  27. <dataSource type="POOLED">
  28.  
  29. <!--配置连接数据库的4个基本信息-->
  30.  
  31. <property name="driver" value="com.mysql.jdbc.Driver"></property>
  32.  
  33. <property name="url" value="jdbc:mysql://localhost:3306/zml?useUnicode=true&amp;characterEncoding=utf-8"></property>
  34.  
  35. <property name="username" value="root"></property>
  36.  
  37. <property name="password" value="root"></property>
  38.  
  39. </dataSource>
  40.  
  41. </environment>
  42.  
  43. </environments>
  44.  
  45. <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件-->
  46.  
  47. <mappers>
  48.  
  49. <mapper resource="dao/UserDao.xml"></mapper>
  50.  
  51. </mappers>
  52.  
  53. </configuration>

(4)第四步

UserDao.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2.  
  3. <!DOCTYPEmapper
  4.  
  5. PUBLIC"-//mybatis.org//DTD Mapper 3.0//EN"
  6.  
  7. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  8.  
  9. <mapper namespace="dao.UserDao">
  10.  
  11. <select id="findAll" resultType="entity.Users">
  12.  
  13. select * from users;
  14.  
  15. </select>
  16.  
  17. </mapper>

(5)第五步:创建测试类

UserTest.java

  1. package test;
  2.  
  3. import dao.UserDao;
  4.  
  5. import entity.Users;
  6.  
  7. import org.apache.ibatis.io.Resources;
  8.  
  9. import org.apache.ibatis.session.SqlSession;
  10.  
  11. import org.apache.ibatis.session.SqlSessionFactory;
  12.  
  13. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  14.  
  15. import org.junit.Test;
  16.  
  17. import java.io.IOException;
  18.  
  19. import java.io.InputStream;
  20.  
  21. import java.util.List;
  22.  
  23. public class UserTest {
  24.  
  25. @Test
  26.  
  27. public void findall() throws IOException {
  28.  
  29. //1.读取配置文件
  30.  
  31. InputStream in= Resources.getResourceAsStream("SqlMapperConfig.xml");
  32.  
  33. //2.创建SqlSessionFactory工厂
  34.  
  35. SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
  36.  
  37. SqlSessionFactory factory=builder.build(in);
  38.  
  39. //3.使用工厂生产SqlSession对象
  40.  
  41. SqlSession session=factory.openSession();
  42.  
  43. //4.使用SqlSession创建dao接口的代理对象
  44.  
  45. UserDao UserDaoImpl=session.getMapper(UserDao.class);
  46.  
  47. //5.使用代理对象执行方法
  48.  
  49. List<Users> users=UserDaoImpl.findAll();
  50.  
  51. for(Users u:users){
  52.  
  53. System.out.println(u);
  54.  
  55. }
  56.  
  57. //6.释放资源
  58.  
  59. session.close();
  60.  
  61. in.close();
  62.  
  63. }
  64.  
  65. }

Mybatis学习笔记之---环境搭建与入门的更多相关文章

  1. Android Studio 学习笔记(一)环境搭建、文件目录等相关说明

    Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...

  2. 我的Java学习笔记 -开发环境搭建

    开始学习Java~ 一.Java简介 Java编程语言是一种简单.面向对象.分布式.解释型.健壮安全.与系统无关.可移植.高性能.多线程和动态的语言. Java分为三个体系: JavaSE(J2SE) ...

  3. Django学习笔记 开发环境搭建

    为什么使用django?1.支持快速开发:用python开发:数据库ORM系统,并不需要我们手动地构造SQL语句,而是用python的对象访问数据库,能够提升开发效率.2.大量内置应用:后台管理系统a ...

  4. cocos2d-x lua 学习笔记(1) -- 环境搭建

    Cocos2d-x 3.0以上版本的环境搭建和之前的Cocos2d-x 2.0 版差异较大的,同时从Cocos2d-x 3.0项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后, ...

  5. SpringData JPA的学习笔记之环境搭建

    一.环境搭建 1.加入jar包   spring jar+jpa jar +springData jar >>SpringData jar包     2.配置applicationCont ...

  6. 前端框架vue学习笔记:环境搭建

    兼容性 不兼容IE8以下 Vue Devtools 能够更好的对界面进行审查和调试 环境搭建 1.nodejs(新版本的集成了npm)[npm是node包管理 node package manager ...

  7. Web安全测试学习笔记 - vulhub环境搭建

    Vulhub和DVWA一样,也是开源漏洞靶场,地址:https://github.com/vulhub/vulhub 环境搭建过程如下: 1. 下载和安装Ubuntu 16.04镜像,镜像地址:htt ...

  8. 【Django学习笔记】-环境搭建

    对于初学django新手,根据以下步骤可以快速进行Django环境搭建 虚拟环境创建 使用virtualenv创建并启用虚拟机环境 ,关于virtualenv可参考https://www.yuque. ...

  9. Mybatis-Plus 实战完整学习笔记(二)------环境搭建

     第二章    使用实例   1.搭建测试数据库 -- 创建库 CREATE DATABASE mp; -- 使用库 USE mp; -- 创建表 CREATE TABLE tbl_employee( ...

随机推荐

  1. Python与C/C++相互调用

    参考链接:https://www.cnblogs.com/yanzi-meng/p/8066944.html

  2. TCP UDP (转)

    互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作 ...

  3. 关于在记事本写入"\n"不显示换行的原因

    Linux系统下直接使用  "\n"  即可换行 windows下需要使用   "\r\n"

  4. 9.22考试 crf的视察 题解

    这道题当时第一反应就是一道典型的NOIP第一题的难度,绝对要A掉,不然分数一定会被拉开. 然后就开始分析,暴力是一开始想的是用二维树状数组打加上暴力枚举长度,然而这道题满足二分性质,所以时间复杂度就是 ...

  5. 前端经常碰到的小知识点-----js篇

    一    js 1.可视区宽和高 ① document.documentElement.clientWidth  //可视区的宽度 document.documentElement.clientHei ...

  6. EnjoyingSoft之Mule ESB开发教程第四篇:Mule Expression Language - MEL表达式

    目录 1. MEL的优势 2. MEL的使用场景 3. MEL的示例 4. MEL的上下文对象 5. MEL的Variable 6. MEL访问属性 7. MEL操作符 本篇主要介绍Mule表达式语言 ...

  7. 【Android UI】顶部or底部菜单的循环滑动效果一

    实现了分页的滑动效果,做的demo流畅运行 注:貌似支持的样式(控件)有一定的限制,我试过短信的listview页面,暂无法实现滑动效果 java文件:MainActivity.java.Activi ...

  8. [vue折线图] 记录SpringBoot+Vue3.0折线图订单信息展示

    因公司业务需求,需要做一份订单相关的折线图, 如果其中有一天没有订单的话,这一天就是空缺的,在绘制折线图的时候是不允许的,所有要求把没有订单数据的日期也要在图表显示. 使用技术vue3.0+sprin ...

  9. 模拟ssh远程执行命令,粘包问题,基于socketserver实现并发的socket

    06.27自我总结 1.模拟ssh远程执行命令 利用套接字编来进行远程执行命令 服务端 from socket import * import subprocess server = socket(A ...

  10. c语言进阶12-线性表之顺序表

    一.  线性表的定义 为什么要学习线性表呢? 因为我们日常生活中存在种数据关系,计算机程序是为了解决日常生活的数据关系,因此我们要学习线性表. 线性表是什么呢? 线性表是由n个元素组成的有限序列. 需 ...