一般的过程例如以下
1、加入Mybatis所须要的包,和连接数据库所需的包
2、配置mybatis-config.xml文件

3、配置与pojo相应的映射文件

mybatis-config,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>
<typeAliases><!--类型别名-->
<typeAlias alias="User" type="com.iss.pojo.User" />
</typeAliases>

<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://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" />
<property name="username" value="root" />
<property name="password" value="root" />
</dataSource>
</environment>
</environments>

<mappers>
<mapper resource="com/iss/pojo/User.xml" /><!--映射文件的路径-->
</mappers>
</configuration>

pojo实体类

package com.iss.pojo;

public class User {
private int id;

private String name;

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 User(int id, String name) {
super();
this.id = id;
this.name = name;
}

public User() {
super();
}

}

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"><!--映射的命名空间也就是在mybatis中配置的别名-->
<select id="selectUser" parameterType="int" resultType="User"><!--在mybatis-config.xml中为类型起了别名-->
<![CDATA[
        select * from user where id = #{id}]]><!--查询的是表名不是对象-->
</select>
<insert id="insertUser" parameterType="User">

<![CDATA[insert into user
value(#{id},#{name})]]>

</insert>
<delete id="deleteUser" parameterType="int">
delete from user where
id=#{id}

</delete>
<update id="updateUser" parameterType="User">
update user set
name=#{name} where id=#{id}
</update>
</mapper>

Mybatis工具类

Mybatis工具类

package com.iss.util;

import java.io.IOException;
import java.io.Reader;

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 com.sun.org.apache.xpath.internal.operations.Gte;

public class MybatisUtil {

private static SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();//类似于Hibernate中Configration

private static SqlSessionFactory sqlSessionFactory;//类似于Hibernate中SessionFactory

// 静态初始化块配置文件在类执行时仅仅载入一次
static {

String resource = "mybatis-config.xml";
Reader reader = null;
try {
reader = Resources.getResourceAsReader(resource);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

sqlSessionFactory = builder.build(reader);
}

private MybatisUtil() {
// TODO Auto-generated constructor stub
}

public static SqlSessionFactoryBuilder getBuilder() {
return builder;
}

public static void setBuilder(SqlSessionFactoryBuilder builder) {
MybatisUtil.builder = builder;
}

public static SqlSessionFactory getSqlSessionFactory() {
return sqlSessionFactory;
}

public static void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
MybatisUtil.sqlSessionFactory = sqlSessionFactory;
}

// 获得sqlSession对象类似于Hibernate中的session
public static SqlSession getSqlSession() {
SqlSession sqlSession = sqlSessionFactory != null ? sqlSessionFactory
.openSession() : null;
return sqlSession;
}

public static void closeSession() {
SqlSession sqlSession = getSqlSession();
if (sqlSession != null) {
sqlSession.close();
}
}

}

UserService

package com.iss.service;

import org.apache.ibatis.session.SqlSession;

import com.iss.pojo.User;
import com.iss.util.MybatisUtil;

public class UserService {

public static User selectUser(int id) {
SqlSession sqlSession = MybatisUtil.getSqlSession();
User user = sqlSession.selectOne("selectUser", 1);
MybatisUtil.closeSession();
return user;
}

public static void insertUser(int id, String name) {

User user = new User();
user.setId(id);
user.setName(name);

SqlSession sqlSession = MybatisUtil.getSqlSession();
sqlSession.insert("insertUser", user);
sqlSession.commit();
MybatisUtil.closeSession();
}

public static void updateUser(int id, String name) {
User user = new User();
user.setId(id);
user.setName(name);

SqlSession sqlSession = MybatisUtil.getSqlSession();
sqlSession.update("updateUser", user);
sqlSession.commit();
MybatisUtil.closeSession();

}

public static void deleteUser(int id) {
SqlSession sqlSession = MybatisUtil.getSqlSession();
sqlSession.delete("deleteUser", id);
sqlSession.commit();
MybatisUtil.closeSession();
}

}

TestUser

package com.iss.test;

import com.iss.pojo.User;
import com.iss.service.UserService;

public class TestUser {

public static void main(String[] args) {

UserService.insertUser(3, "world");
User user = UserService.selectUser(2);
System.out.println(user.getName());
UserService.updateUser(1, "wdy");
System.out.println(UserService.selectUser(2).getName());

UserService.deleteUser(2);
}
}

总结Hibernate 和Mybatis非常相似

基本的差别

Hibernate的映射文件是对表的映射

Mybatis的映射文件是对表操作的一种映射

Mybatis简单的入门之增删改查相关推荐

  1. springboot整合mybatis实现简单的单表增删改查(完整代码可下载)

    搭建项目 项目简单效果,前端效果丑的一批,主要是后端功能实现: springboot增删改查 csdn完整代码下载链接: springboot+mybatis Gitee下载地址: Gitee下载地址 ...

  2. mybatis从零基础到增删改查数据库

    本文是mybatis框架一个初步的入门总结,最全的最好的资料应该参考这个:http://mybatis.github.io/mybatis-3/zh/index.html 本文在Eclipse下搭建一 ...

  3. MyBatis的Mapper 代理的增删改查操作(三)

    沉迷于黑与白世界中的人,无论怎么挣扎,都逃不过被同化的命运.前世看见了什么,那么今世便是什么. 上一章简单介绍了MyBatis的命名空间方式的增删改查操作(二),如果没有看过,请观看上一章. 一. M ...

  4. MyBatis框架的基础用法(增删改查)

    其主要用到MyBatis jar包,也可以搜索其官网进行下载,这里我给一个我自己用的MyBatis版本MyBatis-3.5.7提取码为"fs33"以及相应的配置文件,如有不懂请看 ...

  5. (day2-spring和mybatis学习)-->重点增删改查

    在how2j上学SSM,整理一下笔记 Spring是一个基于IOC和AOP的结构J2EE系统的框架 (1).IOC 反转控制 是Spring的基础,Inversion Of Control 简单说就是 ...

  6. SpringBoot使用Redis和MyBatis完成缓存数据的增删改查

    文章目录 1.在Spring Boot中集成Redis 2.配置Redis类 关于Redis Template中序列化和反序列化配置的解释 3.创建测试实体类 4.实现实体和数据表的映射关系 5.创建 ...

  7. ASP.NET操作简单的xml,增删改查

    温习一下对xml的简单操作,贴出来收藏 xml文件格式: <?xml version="1.0" encoding="utf-8"?> <st ...

  8. Jpa环境配置及入门(增删改查)

    案例:客户的相关操作(增删改查) 1.分析: 1.搭建环境: 创建maven工程,导入相关坐标: 配置使用jpa的核心配置文件: 位置:需要配置到类路径下叫做 META-INF的文件夹下 命名:per ...

  9. laravel框架快速入门及增删改查

    一.安装laravel5.5 这里我们可以使用composer命令进行安装laravel框架 composer create-project --prefer-dist laravel/laravel ...

最新文章

  1. MAXIMO启动中心设置
  2. 微信公众平台开发 微信JSSDK开发
  3. python 读写函数
  4. key to ribbon chart in powerbi: time, category, value
  5. mysql-ubuntu卸载安装mysql
  6. c3p0-config.xml文件简单说明与备忘
  7. 迟到的年度总结,我们应该收放自如
  8. 电子科大计算机调试,电子科大计算机学院 汇编语言程序设计 实验报告 99分精品版.doc...
  9. 基于JAVA+Swing+MYSQL的进销存管理系统
  10. 克就克嘛!哪个怕哪个
  11. hadoop 启动 报running beyond virtual memory错误的解决
  12. [GIS原理] 10.1 空间统计描述(描述性分析、探索性数据分析)、空间自相关分析 - QQ图、权重矩阵、Moran'sl、G统计量
  13. Json数组转Map
  14. 随机过程中均值、方差、协方差和相关函数的计算
  15. 显色指数(CRI)计算软件-升级版可视化界面这个人大家自己斟酌人品
  16. 键盘fn键常亮(一直亮),解决办法
  17. java实现生成二维码
  18. Eclipse中将Tab键换成Space键
  19. 数据建模中的二维表和一维表!
  20. 【论文阅读】Learning Effective Road Network Representation with Hierarchical Graph Neural Networks

热门文章

  1. base64转码java版
  2. 总是多次出现 那个同样的 权限错误 _storage_write_error_, 所以一开始就把机器设好setenforce 0...
  3. mysql update操作
  4. eventEmitter3源码分析与学习
  5. Spring学习篇:IoC知识整理(一)
  6. python中import os_python import os
  7. AWS — AWS ECS
  8. 5G 行业专网 — 公有云上的 5G 专网
  9. containerd — 容器引擎
  10. 边缘计算 — 商业模式