1. MyBatis系列:第一个MyBatis工程

目录

1.准备就绪

  • 开发环境
  • 工程目录结构
  • 数据表结构

2、工程代码

  • MyBatisConfig.xml 配置文件
  • User 实体模型类
  • User.xml 映射文件
  • 单元测试

3、附录

4、相关资料


1、准备就绪

开发环境

Eclipse Java EE: Luna Release (4.4.0)

JDK: java v 1.8.x

MyBatis:3.2.8

MySQL:5.6.15

MyBatis 3.2.8 依赖的 jar 包可以在  http://mvnrepository.com/artifact/org.mybatis/mybatis/3.2.8 处发现和下载

导入jar包的说明:

mybatis(必需):mybatis 组件包

junit(可选):用于支持编写单元测试

mysql-connector-java(必选):用于连接目标数据库的jdbc驱动包

commons-loggin, log4j(可选):用于显示mybatis运行时的日志输出

pom.xml 依懒包配置

<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.2.8</version>
</dependency>
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.11</version>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.35</version>
</dependency>
<dependency>
    <groupId>commons-logging</groupId>
    <artifactId>commons-logging</artifactId>
    <version>1.1.1</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

工程目录结构

本文中所使用的是 Maven 工程项目,也可以使用本地包导入工程;

User.java 为实体模型类

MybatisFirstTest.java 为单元测试类

mapper/user.xml  为实体mapper映射文件

log4j.properties 为日志输出配置文件

MybatisConfig.xml 为MyBatis的全局配置文件

数据库表结构

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL,
  `birthday` date DEFAULT NULL,
  `sex` char(1) DEFAULT NULL,
  `address` varchar(256) DEFAULT NULL,
  PRIMARY KEY (`id`)
);

二、工程代码

MyBatisConfig.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">
            <transactionManager type="JDBC" />
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
                <property name="username" value="root" />
                <property name="password" value="123456" />
            </dataSource>
        </environment>
    </environments>
    <mappers>
    <mapper resource="mapper/user.xml"/>
    </mappers>
</configuration>

User 实体模型类

1 public class User {
2     public int id;
3     public String username;
4     public Date birthday;
5     public String sex;
6     public String address;
7 } 

User.xml 映射文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="test">
    <select id="getUserById" parameterType="int" resultType="cn.xleos.mybatisfirst.po.User">
        SELECT * FROM user WHERE id = #{value}
    </select>
 </mapper> 

单元测试

public class MybatisFirstTest {

    private SqlSessionFactory sqlSessionFactory; 

    @Before
    public void setUp() throws Exception {
        InputStream inputStream = Resources.getResourceAsStream("MybatisConfig.xml");
        sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    }

    @Test
    public void getUserByIdTest() {
        SqlSession sqlSession = sqlSessionFactory.openSession();
        try {
            User user = sqlSession.selectOne("test.getUserById", 1);
            System.out.println(user);
        }finally{
            sqlSession.close();
        }
    }
}
时间: 2024-08-11 17:27:07

1. MyBatis系列:第一个MyBatis工程的相关文章

mybatis之第一个mybatis程序(二)

通过接口编程来实现mybatis之第一个mybatis程序(一)中的功能. 1.在src下新建一个com,gong,mybatis.dao的包,在里面新建一个EmployeeDao.java(注意是接口) package com.gong.mybatis.dao; import com.gong.mybatis.bean.Employee; public interface EmployeeDao { public Employee getEmpById(Integer id); } 2.更改E

mybatis系列笔记(1)---mybatis入门

mybatis入门   MyBatis是什么? MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上Mybatis对ibatis进行一些改进. 目前mybatis在github上托管.  git(分布式版本控制,当前比较流程) MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费

mybatis系列-16-spring和mybatis整合

16.1     整合思路 需要spring通过单例方式管理SqlSessionFactory. spring和mybatis整合生成代理对象,使用SqlSessionFactory创建SqlSession.(spring和mybatis整合自动完成) 持久层的mapper都需要由spring进行管理. 16.2     整合环境 创建一个新的java工程(接近实际开发的工程结构) jar包: mybatis3.2.7的jar包 spring3.2.0的jar包 mybatis和spring的整

MyBatis系列目录--4. MyBatis别名、字段冲突、动态sql、日志、xml其他组件等若干优化

一.mybatis执行日志 加入log4j/logback能看到mybatis更详细的执行情况,以logback为例子 Xml代码   <logback.version>1.0.13</logback.version> <dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-core</artifactId> <version>${l

MyBatis系列目录--5. MyBatis一级缓存和二级缓存(redis实现)

转载请注明出处哈:http://carlosfu.iteye.com/blog/2238662 0. 相关知识: 查询缓存:绝大数系统主要是读多写少. 缓存作用:减轻数据库压力,提供访问速度. 1. 一级缓存测试用例 (1) 默认开启,不需要有什么配置 (2) 示意图 (3) 测试代码 Java代码   package com.sohu.tv.cache; import org.apache.ibatis.session.SqlSession; import org.junit.After; i

MyBatis系列目录--3. Mybatis注解

1. PlayerDao注解方式实现 Java代码   package com.sohu.tv.mapper; import java.util.List; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import org.apache.ibatis.annotations

三、MyBatis系列:Mapper 映射 之 通过mapper映射文件来读取数据库记录

在使用Mybatis从数据库中获取记录时,仅编写一个映射xml文件即可.这便是mybatis的强大之处,据说可以比普通jdbc要节省95%的代码.先来看看如何获取记录,工程配置请参考<一.MyBatis系列:第一个MyBatis工程>: 1.Mapper配置文件内容 1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE mapper PUBLIC "-//mybatis.o

MyBatis 系列文章

一.MyBatis系列:第一个MyBatis工程 二.MyBatis系列:全局配置文件详解 三.MyBatis系列:Mapper映射详解 四.MyBatis系列:原始Dao方式开发 五.MyBatis系列:动态代理方式开发 六.MyBatis系列:注解方式开发 七.MyBatis系列:延迟加载 八.MyBatis系列:一级缓存的使用 九.MyBatis系列:二级缓存的使用 十.MyBatis系列:与Spring的整合 十一.MyBatis系列:逆向工程(自动生成代码) 十二.MyBatis系列:

深入浅出Mybatis系列(二)---配置简介(mybatis源码篇)

上篇文章<深入浅出Mybatis系列(一)---Mybatis入门>, 写了一个Demo简单体现了一下Mybatis的流程.本次,将简单介绍一下Mybatis的配置文件: 上次例子中,我们以 SqlSessionFactoryBuilder 去创建 SqlSessionFactory,  那么,我们就先从SqlSessionFactoryBuilder入手, 咱们先看看源码是怎么实现的: SqlSessionFactoryBuilder源码片段: 1 public class SqlSessi

深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete[转]

上篇文章<深入浅出Mybatis系列(六)---objectFactory.plugins.mappers简介与配置>简单地给mybatis的配置画上了一个句号.那么从本篇文章开始,将会介绍mapper映射文件的配置, 这是mybatis的核心之一,一定要学好.在mapper文件中,以mapper作为根节点,其下面可以配置的元素节点有: select, insert, update, delete, cache, cache-ref, resultMap, sql . 本篇文章将简单介绍 in