一般的过程例如以下

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. Mybatis入门之增删改查

    Mybatis入门之增删改查 Mybatis如果操作成功,但是数据库没有更新那就是得添加事务了.(增删改都要添加)----- 浪费了我40多分钟怀疑人生后来去百度... 导入包: 引入配置文件: sq ...

  2. Mybatis实现简单的CRUD(增删改查)原理及实例分析

    Mybatis实现简单的CRUD(增删改查) 用到的数据库: CREATE DATABASE `mybatis`; USE `mybatis`; DROP TABLE IF EXISTS `user` ...

  3. SpringBoot+Mybatis+Maven+MySQL逆向工程实现增删改查

    SpringBoot+Mybatis+MySQL+MAVEN逆向工程实现增删改查 这两天简单学习了下SpringBoot,发现这玩意配置起来是真的方便,相比于SpringMVC+Spring的配置简直 ...

  4. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-2.使用Mybatis注解开发视频列表增删改查

    笔记 2.使用Mybatis注解开发视频列表增删改查     讲解:使用Mybatis3.x注解方式 增删改查实操, 控制台打印sql语句              1.控制台打印sql语句      ...

  5. MyBatis入门2_增删改查+数据库字段和实体字段不一致情况

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! 当数据库字段和实体bean中属性不一致时 之前数据库P ...

  6. Mybatis之基于XML的增删改查

    这里先吐槽下,写的半天的东西,IE浏览器弹出调试窗口导致写的东西全部没保存,搞得我还要重新用谷歌写,思路全没了,fuck. 前面学习了下spring的DAO层,说起DAO层,那ORM肯定是少不了的,O ...

  7. SSMybatis整合 --详细解读Mybatis对oracle数据库进行增删改查(一)

    Mybatis是现在主流的持久化层框架,与Hibernate不同的是,它鼓励程序员使用原声SQL语句对数据库进行操作.因此提供了非常灵活的功能.特别是当数据库同时访问数过多,需要进行优化时,使用sql ...

  8. mybatis:开发环境搭建--增删改查--多表联合查询(多对一)

    什么是mybatisMyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或 ...

  9. 【Mybatis】mybatis开启Log4j日志、增删改查操作

    Mybatis日志(最常用的Log4j) 官方网站http://www.mybatis.org/mybatis-3/zh/logging.html 1.在src目录下创建一个log4j.propert ...

随机推荐

  1. 常用PHP中花括号使用规则详解

    转自http://www.cnblogs.com/jayleke/archive/2011/11/08/2241609.html 1.简单句法规则(用花括号界定变量名,适用于PHP所有版本): $a ...

  2. 什么是Spring?Spring是什么?

    Spring概述: Spring是一个开源框架,是为了解决企业应用程序开发复杂性而开发的. 从简单性.可測试性和松耦合的角度而言,不论什么java应用都能够从Spring中受益. 简而言之,Sprin ...

  3. jQuery Mobile 是创建移动 web 应用程序的框架。

    jQuery Mobile jQuery Mobile 是创建移动 web 应用程序的框架. jQuery Mobile 适用于所有流行的智能手机和平板电脑. jQuery Mobile 使用 HTM ...

  4. ural1018(树形dp)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=17662 题意:给一棵边有权值的二叉树,节点编号为1-n,1是根节点 ...

  5. Redis的字典(dict)rehash过程源代码解析

    Redis的内存存储结构是个大的字典存储,也就是我们通常说的哈希表.Redis小到能够存储几万记录的CACHE,大到能够存储几千万甚至上亿的记录(看内存而定),这充分说明Redis作为缓冲的强大.Re ...

  6. jQuery cxSelect 多级联动下拉菜单

    随着电商热门,这种多层次的互动更充分地体现在下拉菜单,最明显的是多级联动地址下拉选择,因此,这里是一个简单的分享 jQuery cxSelect 多级联动下拉菜单 cxSelect 它是基于 jQue ...

  7. Kdd Cup 2013 总结2

  8. 測试JSON RPC远程调用(JSONclient)

    #include <string> #include <iostream> #include <curl/curl.h> /* 标题:JSonclient Auth ...

  9. XAML基础(一)

    1.0 XAML是啥? XAML(eXtensible Application Markup Language,可 扩展应用 程序标记语言) 是一种声明性的XML语法 ,像WPF,WF或者Silver ...

  10. HUNNU11354:Is the Name of This Problem

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11354&courseid=0 Problem des ...