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学习总结(一)”的更多相关文章

  1. 学习大神笔记之“MyBatis学习总结(二)”

    MyBatis对表的增删改查操作         主要有两种方式:基于XML实现和基于注解实现. 完整项目结构: 工具类:MyBatisUtil-------用于获取  sqlsession pack ...

  2. 学习大神笔记之“MyBatis学习总结(三)”

    一.连接数据库的配置单独放在一个properties文件中          创建db.peoperties----保存数据库配置信息      driver=com.mysql.jdbc.Drive ...

  3. 设计模式--单例模式(学习Learning hard大神笔记实践)

    根据大神博客园中的文章,自己亲手敲了一遍,对每个解说点都自己动手进行实践,收获颇丰,谢谢Learning hard大神,原文地址http://www.cnblogs.com/zhili/p/Desig ...

  4. Spring学习笔记:Spring整合Mybatis学习PPT(三:整合思路)

    三.Spring-Mybatis的整合思路

  5. Mybatis学习笔记导航

    Mybatis小白快速入门 简介 本人是一个Java学习者,最近才开始在博客园上分享自己的学习经验,同时帮助那些想要学习的uu们,相关学习视频在小破站的狂神说,狂神真的是我学习到现在觉得最GAN的老师 ...

  6. (原创)mybatis学习一,夯实基础

    一,what?(是什么) MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可 ...

  7. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  8. Mybatis学习笔记一

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

  9. Mybatis学习笔记之一(环境搭建和入门案例介绍)

    一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...

随机推荐

  1. Windows 10预览版14316开启Bash命令支持

    00x0 前言 4月7日凌晨,微软推送了最新的Windows 10一周年更新预览版14316,其中重要的是原生支持Linux Bash命令行支持. 00x1 问题 如何开启Linux Bash命令行? ...

  2. 在公有云AZURE上部署私有云AZUREPACK以及WEBSITE CLOUD(一)

    (一)前言 本文主要介绍了实践部署AzurePack的Website Cloud的过程.在部署之前, 首先要对AzurePack有个基本的了解.   Azure Pack是微软的私有云方案,具有弹性. ...

  3. spring aop配置出错

    Multiple annotations found at this line: - schema_reference.4: Failed to read schema document 'http: ...

  4. border:0与border:none区别与联系

    联系:前台效果均实现了无边框 区别: 要解释区别,首先得先介绍一下border这个属性. border是一个简写属性.可以设置如下属性 border-width border-style border ...

  5. 【C语言学习趣事】_33_关于C语言和C++语言中的取余数(求模)的计算_有符号和无符号数的相互转换问题

    最近再次复习C++语言,用的教材是<C++ Primer>这本教材, 看到第二章的时候,里面有个问题困扰了我. 于是想上网查查怎么回事, 结果看了很久都没有得到一个满意的答案. 书上有这么 ...

  6. css基本知识框架图

    css基本知识框架:(一:基本知识缩影.二基本知识框架图) 1.css样式表的基本概念 2.样式表基本类型-----1.内嵌样式 2.内联样式3.链入外部样式表4.导入外部样式 3.样式表配置方法 4 ...

  7. java web学习总结(十) -------------------HttpServletRequest对象

    一.HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象 ...

  8. 新手SSH基础框架搭建

    SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架. 首先我们先了解SSH的框架所需的包和基本概念: 一.下面我们先来了解一下strut ...

  9. Spring声明事务管理

    首先我们先了解事务,什么是事务? 简单来说就是要么全部成功,要么什么都不做. 为什么要使用事务? 比如说常用银行系统的例子,如果没有用事务,有人在存入钱的时候出了问题,那么银行系统数据库的数据没有改变 ...

  10. atitit.农历的公式与原理以及农历日期运算

    atitit.农历的公式与原理以及农历日期运算 1. 农历的概述1 2. 如何在电脑程序里面计算农历??1 3. 农历的公式2 4. 获取当日农历日历3 5. 历史日期公式加查表才能得到精确日期3 6 ...