mybatis介绍以及配置
一、概念
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介绍以及配置的更多相关文章
- 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma
1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...
- MyBatis - 介绍、简单入门程序
JDBC编程中的问题 1. 将SQL语句硬编码到Java代码,不利于系统维护. 设想如何解决:将SQL单独抽取出来,在配置文件(xml方式.properties文件)进行配置. ...
- mybatis中resultMap配置细则
resultMap算是mybatis映射器中最复杂的一个节点了,能够配置的属性较多,我们在mybatis映射器配置细则这篇博客中已经简单介绍过resultMap的配置了,当时我们介绍了resultMa ...
- 深入浅出MyBatis:JDBC和MyBatis介绍
JDBC相关概念 Java程序都是通过JDBC连接数据库的,通过SQL对数据库编程,JDBC是由SUN公司提出的一些列规范,只定义了接口规范,具体实现由各个数据库厂商去实现,它是一种典型的桥接模式. ...
- Mybatis学习笔记(一) —— mybatis介绍
一.Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名 ...
- mybatis介绍安装
MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀持久层框架.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用简单 ...
- (转)MyBatis框架的学习(一)——MyBatis介绍
http://blog.csdn.net/yerenyuan_pku/article/details/71699343 MyBatis介绍 MyBatis本是apache的一个开源项目iBatis,2 ...
- Spring+MyBatis双数据库配置
Spring+MyBatis双数据库配置 近期项目中遇到要调用其它数据库的情况.本来仅仅使用一个MySQL数据库.但随着项目内容越来越多,逻辑越来越复杂. 原来一个数据库已经不够用了,须要分库分表.所 ...
- Spring Boot (七): Mybatis极简配置
Spring Boot (七): Mybatis极简配置 1. 前言 ORM 框架的目的是简化编程中的数据库操作,经过这么多年的发展,基本上活到现在的就剩下两家了,一个是宣称可以不用写 SQL 的 H ...
随机推荐
- Java面试必知必会:基础
面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力.但是面试中经常被问到的知识点却没有多少,你完全可以用 20% 的时间去掌握 80% 常问的知识点. 一.基础 包括: 杂七杂八 面向对象 数 ...
- 「题解」agc031_c Differ by 1 Bit
本文将同步发布于: 洛谷博客: csdn: 博客园: 简书: 题目 题目链接:洛谷 AT4693.AtCoder agc031_c. 题意概述 给定三个数 \(n,a,b\),求一个 \(0\sim ...
- Django-ORM-事务和锁
一.锁 行级锁 返回一个锁住行,值到事物结束的查询集. 所有匹配的行将被锁住,直到事物结束,这就意味着可以通过锁防止数据被其他事务修改. 一般情况下如果其他事务锁定了相关行,那么本查询将被阻塞直到锁被 ...
- JavaScript中子函数访问外部变量的方法
我们在写web页面时,肯定会经常遇到下面这种情况: <body> <div class="btns-wrapper"></div> <sc ...
- react 工程目录简介
创建一个 todolist 项目,下图是其工程目录. node_modules文件夹 里面存放的是我们所建项目放所依赖的第三方的包 public文件夹 favicon.ico 图标文件,网页标题左上角 ...
- Redisson 分布式锁源码 02:看门狗
前言 说起 Redisson,比较耳熟能详的就是这个看门狗(Watchdog)机制. 本文就一起看看加锁成功之后的看门狗(Watchdog)是如何实现的? 加锁成功 在前一篇文章中介绍了可重入锁加锁的 ...
- Unity 消消乐开发思路
以简单的方式讲述游戏开发思路,暂时没有实践,如有错误,欢迎各位大佬指错 关卡数据保存方式 数据保存我选用json,可读性强,解析快 消消乐物体处理方式 消消乐物体我将以预制体的方式使用(把物品拖到As ...
- 50、django工程(ajax)
50.1.ajax介绍: 1.ajax是在不跳转当前url地址的情况偷偷的往后台发送数据做增删改数据的操作,如果成功返回结果刷新当前页面,失败则提醒, 使用 id 或 name 属性. 2.模态对话框 ...
- AcWing 90. 64位整数乘法
求a*b%p的值. 0<a,b,p<1e18; 原题链接 #include<bits/stdc++.h> #define ull unsigned long long usin ...
- (转发)forward与(重定向)redirect的区别
(转发)forward与(重定向)redirect的区别 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服 ...