这篇博文通过简单的CRUD案例,让大家能够快速的上手,使用mybatis。

    1,在eclipse中新建java project项目 mybatis_demo

  2,在mybatis_demo项目中建立lib文件夹并导入如下jar文件

    

  并将jar包build path中

  3,在项目下创建如下目录

  

  注意:config是source folder文件用于保存配置文件,

  

  4,在source folder下加入mybatis的核心配置文件SqlMapperCofing.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>
<!-- 导入外部属性文件 -->
<properties resource="jdbc.properties" />
<!-- 配置mybatis的开发环境 -->
<environments default="development">
<environment id="development">
<!-- 配置mybatis的事物管理方式 -->
<transactionManager type="JDBC" />
<!-- 配置数据库连接 -->
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
<!--
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_01?characterEncoding=utf-8"/>
<property name="username" value="root"/>
<property name="password" value="123"/>
</dataSource>
-->
</environment>
</environments>
<!-- 配置mapper映射 -->
<mappers>
<mapper resource="mapper/user.xml"/>
</mappers>
</configuration>

  加入log4j.properties文件

  

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

  加入jdbc.properties文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis_01?characterEncoding=utf-8
jdbc.username=root
jdbc.password=123

  (注意:其中的一些数据库配置,按照自己的数据库配置进行修改)

  5,在src目录下新建User类

  

package com.mybatis.pojo;

import java.util.Date;

/**
* 用户实体类
* @author Administrator
*
*/
public class User { private Integer id;
private String username;// 用户名
private String sex;// 性别
private Date birthday;// 出生日期
private String address;// 家庭住址 public Integer getId() {
return id;
} public void setId(Integer id) {
this.id = id;
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public Date getBirthday() {
return birthday;
} public void setBirthday(Date birthday) {
this.birthday = birthday;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} @Override
public String toString() {
return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="
+ address + "]";
} }

  并创建与实体类对应的数据库表user。

 6,在mapper下新建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="user"> <!-- 全查user类 -->
<select id="listUser" resultType="com.mybatis.pojo.User">
select
id,
username,
sex,
birthday,
address
from
user
</select> </mapper>

  7,添加测试文件demo.java

package com.mybatis.test;

import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
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 com.mybatis.pojo.User;
import com.mybatis.utils.MybatisUtil; public class Demo { /**
* 全查user表测试
*/
@Test
public void listUser(){
try {
//1,加载mybatis核心配置文件SqlMapperConfig.xml
InputStream resourceAsStream = Resources.getResourceAsStream("sqlMapperConfig.xml");
//2,创建SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);
//3,创建SessionFactory
SqlSession session = sqlSessionFactory.openSession();
String statement = "user.listUser";
List<User> userList = session.selectList(statement);
for (User user : userList) {
System.out.println(user);
}
session.commit();
session.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

  8,利用junit 运行方法得到结果

到此,简单的mybatis项目完成。

  

 

mybatis之Mybatis_demo的更多相关文章

  1. 01 Mybatis 的配置和使用

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

  2. spring+springmvc+mybatis构建系统

    今天和大家分享的是spring+springmvc+mybatis搭建框架的例子,说到这里不得不说现在市面上一流大公司还有很多用这种架子,创业型公司大部分都用springboot集成的mvc+myba ...

  3. spring整合mybatis接口无法注入问题

    在学习Spring完之后简单的了解了MyBatis.然后进行简单的整合,遇到MyBatista接口映射的Bean无法自动注入的问题: 代码异常: 线程“main”org.springframe .be ...

  4. Mybatis学习笔记14 - 动态sql之foreach标签

    一.查询给定集合中员工id对应的所有员工信息 示例代码: 接口定义: package com.mybatis.dao; import com.mybatis.bean.Employee; import ...

  5. Mybatis学习笔记1 - Hello World

    1.pom.xml文件 <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...

  6. Mybatis 框架

    在之前的内容中,我写了Java的基础知识.Java Web的相关知识.有这些内容就可以编写各种各样丰富的程序.但是如果纯粹手写所有代码,工作量仍然很大.为了简化开发,隐藏一些不必要的细节,专心处理业务 ...

  7. intellij IDEA Mybatis入门案例

    最近打算学习ssm框架  Mybatis 作为入门的第一个持久层框架,学习起来实在费劲.故写此文章作为入门案例. 先打开 IDEA建立一个Maven项目,目录结构如下: 源代码已经上传至GitHub ...

  8. 浅析MyBatis(二):手写一个自己的MyBatis简单框架

    在上一篇文章中,我们由一个快速案例剖析了 MyBatis 的整体架构与整体运行流程,在本篇文章中笔者会根据 MyBatis 的运行流程手写一个自定义 MyBatis 简单框架,在实践中加深对 MyBa ...

  9. MyBatis工程搭建&MyBatis实现Mapper配置查询

    一.MyMyBatis工程搭建 新建Maven项目:mybatis-demo 准备数据源 1 # 删除mybatis_demo数据库 2 drop database if exists mybatis ...

随机推荐

  1. NABCD分析---校园服务

    N(需求): 大学生活中,很多琐碎的小事浪费同学时间精力.我们的APP本着为同学服务的宗旨,解决生活中各方面的问题,同学们可以在APP上发布各种信息,例如兼职,二手买卖等等. A(做法): 用户打开A ...

  2. window系统下搭建本地的NuGet Server

    1. NuGet.Config文件所在的目录: C:\Users\xxx\AppData\Roaming\NuGet 2.将nupkg为结尾的文件放在 项目的Packages目录下.(注意是和web. ...

  3. Mac下创建证书失败

    gdb调试运行出错,需要创建证书 按网上说的,到最后一步直接,按默认创建login类的证书 然后导出证书 再将这个证书导入到系统中

  4. 解决IE浏览器把application/json响应视为文件并尝试下载

    下面我的解决方案是针对.net MVC的,其他的解决方案也类似,就是把响应的mimeType换成IE浏览器已经拥有的.如application/json换成text/plain #region 退出登 ...

  5. 《linux就该这么学》第十三节课:第11章和第12章,vsftpd服务与samba和nfs服务

    第十一章 (借鉴请改动) 11.1.文件传输协议 FTP文件穿数协议,端口20用于数据传输,21端口用于传输相关FTP命令 ftp协议的两种工作模式: 主动模式:ftp向客户端发起 被动模式(默认): ...

  6. Fiddler抓包【4】_重定向AutoResponder

    1. 文件及图片替换(Enable rules) 目的:允许从本地返回文件,代替服务器响应,而不用将文件发布到服务器[可用正式环境验证本地文件] 步骤一:抓页面http://ir.baidu.com/ ...

  7. orcl数据库锁等级研究小记

    上周通过orcl 悲观锁的方式解决了一个并发临界值的问题.现在来研究下orcl各中锁的机制以及如何手动释放锁. 首先,通过查阅资料,先了解下数据的的各种操作语言分类. SQL语言共分为四大类:数据查询 ...

  8. Objective-C RunTime 学习笔记 之 消息转发流程

    1) 当向某个对象发送消息时,先从cache(cache_t)中查找方法对象(method_t),如果找到则进行回调:否则通过查找对象的类(元类)定义中方法列表,一直追溯到NSObject, 如果找到 ...

  9. OpenStack-Neutron-Fwaas-代码【一】

    Kilo的代码中对Fwaas做了优化,可以将规则应用到单个路由上 但是juno里面还是应用到租户的所有路由上的,因此对juno的代码做了修改 1. 介绍 在FWaaS中,一个租户可以创建多个防火墙,而 ...

  10. echart的x轴换行

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...