一、概念

1、作用:简化dao层,是框架的一部分,常叫SSM,或SSI

2、历史:之前的版本叫ibatis,三版之后叫mybatis

3、什么是orm?object,relational,mapping对象,关系,映射

简单说是实体类和sql语句之间的映射

也就是实体类和表的列

4、实体类常见的命名

entity,bean,model,pojo,vo,form

二、操作

老师提供的资料包

1、mybatis\mybatis-generator-core-1.3.2文件夹复制一份在D盘,方便操作

2、D:\mybatis-generator-core-1.3.2\lib 在此文件夹中,有一个generator.xml文件,

​右击用Notepade++打开,可能注释显示乱码,此时选菜单栏中的编码,选择使用ANSI编码,乱码问题就解决了

在generator.xml文件中需要改动6处

1)

<!-- 相应 数据库驱动 mysql:mysql-connector-java-5.1.22-bin.jar;oracl:ojdbc14.jar-->

<classPathEntrylocation="mysql-connector-java-5.1.22-bin.jar"/>

<!--<classPathEntrylocation="ojdbc14.jar"/>-->

2)

<!--数据库链接URL,用户名、密码 跟jdbc一样需要改相应名称 -->

<jdbcConnection driverClass="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://127.0.0.1:3306/new" userId="root" password="root">

<!--<jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@localhost:1521:orcl" userId="scott" password="tiger">-->

</jdbcConnection>

3)

<!-- 生成模型的包名和位置-->

<javaModelGenerator targetPackage="com.unite.test.pojo" targetProject="src">

4)

<!-- 生成DAO的包名和位置-->

<javaClientGenerator type="XMLMAPPER" targetPackage="com.unite.test.dao" targetProject="src">

5)

<!-- 生成映射文件的包名和位置-->

<sqlMapGenerator targetPackage="com.unite.test.mapper" targetProject="src">

6)

<!-- 要生成哪些表,有几个表生成几个-->

<table tableName="tabaccount" domainObjectName="Account" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>

3、cmd程序

输入d:会回车

--cd空格粘贴路径回车

--复制generator.xml下的最后一句话(java -jar mybatis-generator-core-1.3.2.jar -configfile generator.xml -overwrite)回车

--就会在lib包下的src自动生成对应的包

4、javaee

1)先创建一个web项目3.0版本,tomcat使用9.0,选中生成web.xml文件,导mybatis需要的jar包

2)mynatis-3-mapper.dtd复制在mapper包下

3)log4j.properties和mybatis-3-config.dtd复制在src文件下

4)创建mybatis.xml文件

先配置资源库要写正确对应的数据库,

之后映射来源途经要写正确,按住cl+鼠标左键可以跳转到该页面,有几个映射写几个路径

5)更改mapper包下,自动生成的mapper.xml文件

改成

<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "./mybatis-3-mapper.dtd" >

按住cl+鼠标单击可以实现跳转

相应的配置工作基本完成,如何利用mybatis替换dao层方法,下篇再描述

mybatis介绍以及配置的更多相关文章

  1. 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

     1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...

  2. MyBatis - 介绍、简单入门程序

    JDBC编程中的问题     1. 将SQL语句硬编码到Java代码,不利于系统维护.         设想如何解决:将SQL单独抽取出来,在配置文件(xml方式.properties文件)进行配置. ...

  3. mybatis中resultMap配置细则

    resultMap算是mybatis映射器中最复杂的一个节点了,能够配置的属性较多,我们在mybatis映射器配置细则这篇博客中已经简单介绍过resultMap的配置了,当时我们介绍了resultMa ...

  4. 深入浅出MyBatis:JDBC和MyBatis介绍

    JDBC相关概念 Java程序都是通过JDBC连接数据库的,通过SQL对数据库编程,JDBC是由SUN公司提出的一些列规范,只定义了接口规范,具体实现由各个数据库厂商去实现,它是一种典型的桥接模式. ...

  5. Mybatis学习笔记(一) —— mybatis介绍

    一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...

  6. mybatis介绍安装

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单 ...

  7. (转)MyBatis框架的学习(一)——MyBatis介绍

    http://blog.csdn.net/yerenyuan_pku/article/details/71699343 MyBatis介绍 MyBatis本是apache的一个开源项目iBatis,2 ...

  8. Spring+MyBatis双数据库配置

    Spring+MyBatis双数据库配置 近期项目中遇到要调用其它数据库的情况.本来仅仅使用一个MySQL数据库.但随着项目内容越来越多,逻辑越来越复杂. 原来一个数据库已经不够用了,须要分库分表.所 ...

  9. Spring Boot (七): Mybatis极简配置

    Spring Boot (七): Mybatis极简配置 1. 前言 ORM 框架的目的是简化编程中的数据库操作,经过这么多年的发展,基本上活到现在的就剩下两家了,一个是宣称可以不用写 SQL 的 H ...

随机推荐

  1. Java面试必知必会:基础

    面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力.但是面试中经常被问到的知识点却没有多少,你完全可以用 20% 的时间去掌握 80% 常问的知识点. 一.基础 包括: 杂七杂八 面向对象 数 ...

  2. 「题解」agc031_c Differ by 1 Bit

    本文将同步发布于: 洛谷博客: csdn: 博客园: 简书: 题目 题目链接:洛谷 AT4693.AtCoder agc031_c. 题意概述 给定三个数 \(n,a,b\),求一个 \(0\sim ...

  3. Django-ORM-事务和锁

    一.锁 行级锁 返回一个锁住行,值到事物结束的查询集. 所有匹配的行将被锁住,直到事物结束,这就意味着可以通过锁防止数据被其他事务修改. 一般情况下如果其他事务锁定了相关行,那么本查询将被阻塞直到锁被 ...

  4. JavaScript中子函数访问外部变量的方法

    我们在写web页面时,肯定会经常遇到下面这种情况: <body> <div class="btns-wrapper"></div> <sc ...

  5. react 工程目录简介

    创建一个 todolist 项目,下图是其工程目录. node_modules文件夹 里面存放的是我们所建项目放所依赖的第三方的包 public文件夹 favicon.ico 图标文件,网页标题左上角 ...

  6. Redisson 分布式锁源码 02:看门狗

    前言 说起 Redisson,比较耳熟能详的就是这个看门狗(Watchdog)机制. 本文就一起看看加锁成功之后的看门狗(Watchdog)是如何实现的? 加锁成功 在前一篇文章中介绍了可重入锁加锁的 ...

  7. Unity 消消乐开发思路

    以简单的方式讲述游戏开发思路,暂时没有实践,如有错误,欢迎各位大佬指错 关卡数据保存方式 数据保存我选用json,可读性强,解析快 消消乐物体处理方式 消消乐物体我将以预制体的方式使用(把物品拖到As ...

  8. 50、django工程(ajax)

    50.1.ajax介绍: 1.ajax是在不跳转当前url地址的情况偷偷的往后台发送数据做增删改数据的操作,如果成功返回结果刷新当前页面,失败则提醒, 使用 id 或 name 属性. 2.模态对话框 ...

  9. AcWing 90. 64位整数乘法

    求a*b%p的值. 0<a,b,p<1e18; 原题链接 #include<bits/stdc++.h> #define ull unsigned long long usin ...

  10. (转发)forward与(重定向)redirect的区别

    (转发)forward与(重定向)redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服 ...