1.MyBatis的结构

2.MyBatis入门案例

a.创建java项目,并在其中导入相关开发包

b.导入约束文件

http://mybatis.org/dtd/mybatis-3-config.dtd

c.编写配置文件sqlMapConfig.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="mysql">
<environment id="mysql">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments> </configuration>

d.创建表,创建bean

(1)创建表

-- 创建数据库
create database mybatis;
-- 创建表
use mybatis;
create table user (
id int primary key auto_increment,
name varchar(255),
age int(10)
);
-- 插入数据
insert into user values (null,'aaa',19),(null,'bbb',29),(null,'ccc',39),(null,'ddd',22),(null,'eee',33);

(2)创建bean

package cn.tedu.mybatis.beans;

public class User {
private int id;
private String name;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
}
}

(3)编写映射文件,描述bean和表sql的映射关系

<?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"> <mapper namespace="cn.tedu.mybatis.beans.UserMapper">
<select id="queryAll" resultType="cn.tedu.mybatis.beans.User">
select * from user
</select>
</mapper>

(4)将映射文件配置到sqlMapConfig.xml中

    <!-- 声明映射文件 -->
<mappers>
<mapper resource="cn/tedu/mybatis/beans/UserMapper.xml"/>
</mappers>

(5)测试类测试

package cn.tedu.mybatis.test;

import java.io.InputStream;
import java.util.Arrays;
import java.util.List; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test; import cn.tedu.mybatis.beans.User; public class MybatisTest { @Test
public void test01() throws Exception{
// 1.读取MyBatis核心配置文件
InputStream in = Resources.getResourceAsStream("sqlMapConfig.xml");
// 2.根据配置文件创建sqlSessionFactory
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(in);
// 3.创建sqlSession
SqlSession session = factory.openSession();
// 4.执行操作
List<User> list = session.selectList("cn.tedu.mybatis.beans.UserMapper.queryAll");
// 5.遍历结果
System.out.println(Arrays.toString(list.toArray()));
}
}

(6)调用过程

MyBatis的入门案例的更多相关文章

  1. 框架应用:Mybatis (一) - 入门案例

    ORM框架 在实际开发中,工程中本质的任务是从数据库中获取数据,然后对数据进行操作,又或者写入数据.开发时语言是大多是面向对象的工程语言,这个时候就必须进行工程语言和数据库连接语言的转换,也就是所谓的 ...

  2. 初识mybatis之入门案例

    我也是自学了一下,在idea中基于maven的mybatis的配置.有什么不对的地方,请指正,谢谢. 1.1咋们先来配置测试一下,配置mybatis的图解: 1.2 pom.xml需要mybatis的 ...

  3. Mybatis基础及入门案例

    这几天正在对SSM框架的知识进行一个回顾加深,有很多东西学的囫囵吞枣,所以利用一些时间进一步的学习.首先大概了解一下mybatis的使用,再通过一个案例来学习它. 什么是MyBatis Mybatis ...

  4. Mybatis入门案例中设计模式的简单分析

    Talk is cheap, show me the code! public class TestMybatis { public static void main(String[] args) t ...

  5. 03 Mybatis:01.Mybatis课程介绍及环境搭建&&02.Mybatis入门案例

    mybatis框架共四天第一天:mybatis入门 mybatis的概述 mybatis的环境搭建 mybatis入门案例 -------------------------------------- ...

  6. Spring入门案例 idea创建Spring项目

    spring入门案例 idea创建spring项目 Spring介绍 Spring概述 Spring是一个开源框架,Spring是2003年兴起的轻量级java开发框架,由Rod Johnson 在其 ...

  7. MyBatis入门案例、增删改查

    一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0 ...

  8. MyBatis入门案例 增删改查

    一.MyBatis入门案例: ①:引入jar包 ②:创建实体类 Dept,并进行封装 ③ 在Src下创建大配置mybatis-config.xml <?xml version="1.0 ...

  9. MyBatis学习(一)简介及入门案例

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

随机推荐

  1. python------面向对象介绍之多态实例

    一. 多态 一种接口,多种实现. 多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作. ...

  2. Go Example--函数多返回值

    package main import "fmt" func main() { a,b := vals() fmt.Println(a) fmt.Println(b) } //函数 ...

  3. Node学习笔记:建立TCP服务器和客户端之间的通信

    结构: socket是应用层和传输层的桥梁.(传输层之上的协议所涉及的数据都是在本机处理的,并没进入网络中) 涉及数据: socket所涉及的数据是报文,是明文. 作用: 建立长久链接,供网络上的两个 ...

  4. 生产者消费者两种实现:wait/notifyAll和Lock/Condition

    1.wait/notifyAll /** * 面试题:写一个固定容量同步容器,拥有put和get方法,以及getCount方法, * 能够支持2个生产者线程以及10个消费者线程的阻塞调用 * * 使用 ...

  5. SolrCore Initialization Failures - Max direct memory is likely too low

    org.apache.solr.common.SolrException:org.apache.solr.common.SolrException: The max direct memory is ...

  6. Understanding Complex Event Processing (CEP)/ Streaming SQL Operators with WSO2 CEP (Siddhi)

    转自:https://iwringer.wordpress.com/2013/08/07/understanding-complex-event-processing-cep-operators-wi ...

  7. DevExpress皮肤样式

    [时间] 2016-02-15 11:41:11 天气晴 没有雾霾难得的好天气!!! [工具] (1)Visual Studio 2015 (2)DevExpress15.2.3 [感言] 一直以来都 ...

  8. 20165308 2017-2018-2 《Java程序设计》第三周学习总结

    20165308 2017-2018-2 <Java程序设计>第三周学习总结 知识点 类 构造方法与对象的创建 类与程序的基本结构 参数传值 对象的组合 实力成员与类成员 方法重载 thi ...

  9. echarts x轴文字显示不全(xAxis文字倾斜比较全面的3种做法值得推荐)

    出处:http://blog.csdn.net/kebi007/article/details/68488694

  10. Day 01 计算机组成和操作系统

    一.编程与编程语言 1.什么是语言?什么是编程语言? 答:语言是一种事物与另一种事物沟通的介质. 编程语言是程序员与计算机沟通的介质. 2.什么是编程? 答:程序员把自己想要让计算机做的事用编程语言表 ...