直接上例子:

1.项目结构:

2.具体代码及配置

User.java

package com.mybatis.bean;

public class User {

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

GetFacotry.java

package com.mybatis.util;

import java.io.IOException;
import java.io.Reader; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class GetFactory { public static SqlSessionFactory getFactory(){ Reader reader= null;
try {
reader = Resources.getResourceAsReader("conf.xml");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
SqlSessionFactory sessionfactory = new SqlSessionFactoryBuilder().build(reader); return sessionfactory;
}
}

配置文件 conf.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">
</transactionManager>
<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="User.xml"></mapper>
</mappers>
</configuration>

配置文件 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="com.mybatis.bean.UserMapper">
<select id="getUser" parameterType="int" resultType="com.mybatis.bean.User">
select * from user where id=#{id}
</select>
<!--
CRUD操作
-->
<insert id="addUser" parameterType="com.mybatis.bean.User">
insert into user (name,age) values (#{name},#{age});
</insert>
<update id="updateUser" parameterType="com.mybatis.bean.User">
update user set name=#{name},age=#{age} where id=#{id}
</update>
<delete id="deleteUser" parameterType="int">
delete from user where id=#{id}
</delete>
<select id="selectAllUsers" resultType="com.mybatis.bean.User">
select * from user
</select>
</mapper>

3.单元测试

test.java

package com.mybatis.service;

import java.util.List;

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.junit.Test; import com.mybatis.bean.User;
import com.mybatis.util.GetFactory; public class test { @Test
public void UnitTest_ADD(){
SqlSessionFactory factory = GetFactory.getFactory();
SqlSession session = factory.openSession(); String statment = "com.mybatis.bean.UserMapper.addUser";
User user = new User(-1,"新增",32);
int insert = session.insert(statment,user);
session.commit();
session.close();
System.out.println(insert);
} @Test
public void UnitTest_UPDATE(){
SqlSessionFactory factory = GetFactory.getFactory();
SqlSession session = factory.openSession(); String statment = "com.mybatis.bean.UserMapper.updateUser";
User user = new User(1,"更新",22);
int insert = session.update(statment,user);
session.commit();
session.close();
System.out.println(insert); } @Test
public void UnitTest_DELETE(){
SqlSessionFactory factory = GetFactory.getFactory();
SqlSession session = factory.openSession(); String statment = "com.mybatis.bean.UserMapper.deleteUser";
int delete = session.delete(statment, 2);
session.commit();
session.close();
System.out.println(delete); } @Test
public void UnitTest_SELECT_ALL(){
SqlSessionFactory factory = GetFactory.getFactory();
SqlSession session = factory.openSession(); String statment = "com.mybatis.bean.UserMapper.selectAllUsers";
List<User> list= session.selectList(statment);
session.close();
System.out.println(list);
} }

Mybatis学习(二) - CRUD操作(增删改查操作)的更多相关文章

  1. Ecmall二次开发-增删改查操作

    Ecmall二次开发-增删改查操作 Model目录includes/models 自己添加需要的model class OrdercomplainModel extends BaseModel //类 ...

  2. MyBatis之二:简单增删改查

    这一篇在上一篇的基础上简单讲解如何进行增删改查操作. 一.在mybatis的配置文件conf.xml中注册xml与注解映射 <!-- 注册映射文件 --> <mappers> ...

  3. mybatis学习(五)——增删改查及自增主键的获取

    一.mybatis的增删改查 1.修改hotelMapper接口 package com.pjf.mybatis.dao; import com.pjf.mybatis.po.Hotel; publi ...

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

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

  5. 学习MyBatis必知必会(5)~了解myBatis的作用域和生命周期并抽取工具类MyBatisUtil、mybatis执行增删改查操作

    一.了解myBatis的作用域和生命周期[错误的使用会导致非常严重的并发问题] (1)SqlSessionFactoryBuilder [ 作用:仅仅是用来创建SqlSessionFactory,作用 ...

  6. MyBatis学习之简单增删改查操作、MyBatis存储过程、MyBatis分页、MyBatis一对一、MyBatis一对多

    一.用到的实体类如下: Student.java package com.company.entity; import java.io.Serializable; import java.util.D ...

  7. Mybatis学习笔记之---CRUD(增删改查)

    Mybatis的CRUD(增删改查) 1.pom.xml <dependencies> <dependency> <groupId>junit</groupI ...

  8. 使用DOM进行xml文档的crud(增删改查)操作<操作详解>

    很多朋友对DOM有感冒,这里我花了一些时间写了一个小小的教程,这个能看懂,会操作了,我相信基于DOM的其它API(如JDOM,DOM4J等)一般不会有什么问题. 后附java代码,也可以下载(可点击这 ...

  9. MyBatis批量增删改查操作

      前文我们介绍了MyBatis基本的增删该查操作,本文介绍批量的增删改查操作.前文地址:http://blog.csdn.net/mahoking/article/details/43673741 ...

随机推荐

  1. CentOS 6.8下安装docker并使用

    Docker是一个开源的应用容器引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.利用Linux的LXC.AUFS.Go语言.cgroup实现了资源的独立,可以很轻松的实现文件.资 ...

  2. smarty的缓冲

    首先在main文件夹里面建一个文件 huancun.php   然后在template文件夹里面建一个文件 huancun.html   huancun.php中的内容为: require(" ...

  3. log4j.properties详细配置

    转自:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html ①配置根Logger,其语法为: #log4j.rootLogger = [level] ...

  4. nginx源码分析——event模块

    源码:nginx 1.12.0   一.简介      nginx是一款非常受欢迎的软件,具备高性能.模块化可定制的良好特性.之前写了一篇nginx的http模块分析的文章,主要对http处理模块进行 ...

  5. 关于li标签之间的间隔如何消除!

    问题:li标签用了display:inline之后虽然成功的合并在一行,但是li标签之间出现了间距. 原因:按enter键换行之后li标签之间存在着空格,正是这些空格占据了li标签之间的空间. 解决方 ...

  6. Linux下memcache的安装和启动测试

    memcache是一套分布式的高速缓存系统,MemCache的工作流程如下:先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作:如果请求的数据不在me ...

  7. POJ 1007

    DNA Sorting Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 83069 Accepted: 33428 Descrip ...

  8. servlet的执行原理与生命周期

    先从servlet容器说起:大家最为熟悉的servlet容器就是Tomcat ,Servlet 容器是如何管理 Servlet?先看一下tomcat的容器模型:从上图可以看出 Tomcat 的容器分为 ...

  9. Jlink下载问题

    在使用Jlink SWD模式进行下载的时候遇到了无法下载的问题. SWD模式下,共有4跟线,VCC.GND.SWCLK.SWDIO JTAG标准接口如下图所示: 一般情况下,目标板卡的 debug V ...

  10. 012一对一 唯一外键关联映射_双向(one-to-one)

    ²  两个对象之间是一对一的关系,如Person-IdCard(人—身份证号) ²  有两种策略可以实现一对一的关联映射 主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系:数据库 ...