学习大神笔记之 “MyBatis学习总结(一)”
1.准备工作
软件:eclipse、 mysql 、navicat for mysql
包:mybatis-3.1.1.jar mysql-connector-java-5.1.7-bin.jar
2.创建项目
web项目在eclipse中是指动态web项目,即Dynamic web project.
源码放在src文件夹。
jar包放在自建的lib文件夹下然后build path到当前项目中。
3.创建数据库和表
打开 MYSQL command line client,输入数据库密码回车,成功后创建数据库数据表。注意每句结尾都要有“;”,然后回车,你会知道这条语句正确还是错误。
在此引入大神语句:
create database mybatis;
use mybatis;
CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);
INSERT INTO users(NAME, age) VALUES('孤傲苍狼', 27);
INSERT INTO users(NAME, age) VALUES('白虎神皇', 27);
创建的数据库叫mybatis ,数据表叫users,users表中有两条数据。
下一步就是利用Navicat for mysql对数据库进行管理。

连接名任意写,由于建立的为本地数据库,所以主机名为 localhost(意思为本地服务器),端口为mysql默认端口3306(改不改都可以),用户名和密码为mysql的用户名密码,也就是你打开mysql时要输入的用户名密码。
此时,可以用 nacivat for mysql 管理建好的数据库数据表了。
在此做一下概念区分(知识来源于流浪的虾壳博客的《连接数据库localhost和127.0.0.1的区别》):
一.localhost 和 127.0.0.1
localhost也叫local ,正确解释为:本地服务器
127.0.0.1在系统的正确解释是:本机地址(本机服务器)
localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。访问localhost也不会解析成ip,不会占用网卡、网络资源。
127.0.0.1是需要通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
这就是为什么有时候用localhost可以访问,但用127.0.0.1就不可以的情况。所以还是尽量用localhost吧.
二. 数据库默认端口号
SQL Server 1433
Oracle 1521
MySQL 3306
4.建立MyBatis 查询
需要建立 1、Mybatis的配置文件conf.xml
2、users表所对应的实体类
3、定义操作users表的sql映射文件userMapper.xml
4、在conf.xml文件中注册userMapper.xml文件
5、编写测试代码:执行定义的select语句
4.1 conf.xml
按照大神代码敲的,已经注册了userMapper.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">
<environment id="development">
<!--JDBC为java提供的管理数据库接口-->
<transactionManager type="JDBC"/>
<!-- 配置数据库连接信息 -->
<!--POOLED:使用Mybatis自带的数据库连接池来管理数据库连接 -->
<dataSource type="POOLED">
<!--driver为数据库驱动,固定的 -->
<property name="driver" value="com.mysql.jdbc.Driver" />
<!-- “jdbc:mysql://IP:端口号/数据库(你建的那个) -->
<property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
<property name="username" value="root" />
<property name="password" value="liyangkun123" />
</dataSource>
</environment>
</environments>
<mappers>
<!-- 注册userMapper.xml文件,userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml-->
<mapper resource = "me/gacl/mapping/userMapper.xml" ></mapper>
</mappers> </configuration>
POOLED:使用Mybatis自带的数据库连接池来管理数据库连接
UNPOOLED:不使用任何数据库连接池来管理数据库连接
JNDI:jndi形式使用数据库连接、主要用于项目正常使用的时候
4.2 创建users表实体类
很简单,不赘述。
4.3 测试代码
此部分大神注释很明白,参见大神代码即可,引用如下。
package me.gacl.test; import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import me.gacl.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class Test1 { public static void main(String[] args) throws IOException {
//mybatis的配置文件
String resource = "conf.xml";
//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);(class里有getResourceAsStream方法)
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);//创建能执行映射文件中sql的sqlSession
SqlSession session = sessionFactory.openSession();
/**
* 映射sql的标识字符串,
* me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
* getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
*/
String statement = "me.gacl.mapping.userMapper.getUser";//映射sql的标识字符串
//执行查询返回一个唯一user对象的sql
User user = session.selectOne(statement, 1);
System.out.println(user);
}
}
最后在Test1上右击,选择 run as ---> java application 运行
结果如下:

后续还将跟着大神学习下去。
学习大神笔记之 “MyBatis学习总结(一)”的更多相关文章
- 学习大神笔记之“MyBatis学习总结(二)”
MyBatis对表的增删改查操作 主要有两种方式:基于XML实现和基于注解实现. 完整项目结构: 工具类:MyBatisUtil-------用于获取 sqlsession pack ...
- 学习大神笔记之“MyBatis学习总结(三)”
一.连接数据库的配置单独放在一个properties文件中 创建db.peoperties----保存数据库配置信息 driver=com.mysql.jdbc.Drive ...
- 设计模式--单例模式(学习Learning hard大神笔记实践)
根据大神博客园中的文章,自己亲手敲了一遍,对每个解说点都自己动手进行实践,收获颇丰,谢谢Learning hard大神,原文地址http://www.cnblogs.com/zhili/p/Desig ...
- Spring学习笔记:Spring整合Mybatis学习PPT(三:整合思路)
三.Spring-Mybatis的整合思路
- Mybatis学习笔记导航
Mybatis小白快速入门 简介 本人是一个Java学习者,最近才开始在博客园上分享自己的学习经验,同时帮助那些想要学习的uu们,相关学习视频在小破站的狂神说,狂神真的是我学习到现在觉得最GAN的老师 ...
- (原创)mybatis学习一,夯实基础
一,what?(是什么) MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可 ...
- MyBatis学习--简单的增删改查
jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...
- Mybatis学习笔记一
Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为M ...
- Mybatis学习笔记之一(环境搭建和入门案例介绍)
一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...
随机推荐
- .Net语言 APP开发平台——Smobiler学习日志:如何在手机上开发仪表盘控件
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的"S ...
- Unity3D 5.x 交互功能 - 碰撞检测函数
1,给第一人称控制器添加脚本:playercollisions.js 脚本中只定义变量,先不添加方法: #pragma strict var door_open_time:float=3.0; var ...
- 浅谈Slick(1)- 基本功能描述
Slick (Scala language-integrated connection kit)是scala的一个FRM(Functional Relational Mapper),即函数式的关系数据 ...
- 从零开始学 Java - CentOS 下安装 Tomcat
生活以痛吻我,我仍报之以歌 昨天晚上看到那个冯大辉老师的微信公众号,「小道消息」上的一篇文章,<生活以痛吻我,我仍报之以歌>.知乎一篇匿名回答,主题为<冯大辉到底是不是技术大牛,一个 ...
- SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息
1. SharedPreferences漏洞, 无法避免,所以不要在里面存储敏感信息2. 数据存储检测,content://com.starcor.launcherInfo/deviceInfo&q ...
- 配置文件(App.config文件)
1. 配置文件概述: 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的.它是可以按需要更改的,开发人员可以使用配置文件来更改设置,而不必重编译应用程序.配置文件的根节点是 co ...
- karma与webpack结合
一.必备插件 1.babel:es6的语法支持 2.karma:测试框架 3.jasmine:断言框架 4.webpack:打包工具 5.karma-webpack:karma调用webpack打包接 ...
- 多级弹出菜单jQuery插件ZoneMenu
ZoneMenu是一个菜单jQuery插件,只需占用页面上的一个小区域,却可以实现多级菜单. 在线体验:http://keleyi.com/jq/zonemenu/ 点击这里下载 完整HTML文件代码 ...
- window搭建webpack,react,babel傻瓜教程
首先现在的webpack教程已经很多了,写这篇的原因是因为自己在从小白开始的搭建过程中,并没有找到比较好的教程,花费了很多的时间,so 有了这篇博客,方便小白同学学习. node环境在这里不在赘述,p ...
- Aspose.Words基本操作
一个非常好用的控件. 基本的操作可以参考伍大神的文章: http://www.cnblogs.com/wuhuacong/archive/2012/08/30/2662961.html 在这里补充四点 ...