须要用到的包:(这里仅仅是当中一个版本号。其它的百度)

mysql-connector-java-5.1.6-bin

mybatis-3.2.2

先看项目文件夹:

配置文件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>
<!-- 用XML映射的时候必须配此项! 指定mappers里面的返回值相应的实体类 -->
<!-- <typeAliases>
<typeAlias alias="User" type="com.miquan.mybatis.bean.User"/>
</typeAliases> -->
<!-- JDBC配置 -->
<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/weixinface"/>
<property name="username" value="root"/>
<property name="password" value=""/>
</dataSource>
</environment>
</environments>
<!-- mappers,每一个实体类相应着一个xml -->
<mappers>
<mapper resource="com/miquan/mybatis/bean/User.xml"/>
</mappers>
</configuration>

实体类User.java:

package com.miquan.mybatis.bean;

public class User {
private int id;
private String userName;
private String password; public User(int id, String userName, String password) {
super();
this.id = id;
this.userName = userName;
this.password = password;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}

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">
<!-- namespace相应着接口类 -->
<mapper namespace="com.miquan.mybatis.inter.IUserOperation">
<!-- <select id="selectById" parameterType="int" resultType="User">
select * from User where id = #{id}
</select> -->
</mapper>

IUserOperation.java:

package com.miquan.mybatis.inter;

import java.util.List;

import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update; import com.miquan.mybatis.bean.User; public interface IUserOperation {
@Select("select * from User where id = #{id}")
public User selectById(int id); @Select("select * from User where userName = #{userName}")
public List<User> selectUsers(String userName); @Insert("insert into User values(null, #{userName}, #{password})")
public boolean addUser(User user); @Delete("delete from User where id = #{id}")
public boolean delUser(int id); @Update("update User "
+ "set userName = #{userName}, "
+ "password = #{password} "
+ "where id = #{id}")
public boolean updateUser(User user);
}

注意:此处接口不支持多态。

(不知道为什么。用着就是不能够。

。。方法名不能一样)

最后进行測试:Test.java:

package com.miquan.mybatis.test;

import java.io.InputStream;
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 com.miquan.mybatis.bean.User;
import com.miquan.mybatis.inter.IUserOperation; public class Test {
static SqlSession session; public static void main(String[] args) {
try {
//获取session
InputStream is = Resources.getResourceAsStream("mybatisconfig.xml");
SqlSessionFactory sqlSessionFactory =
new SqlSessionFactoryBuilder().build(is);
session = sqlSessionFactory.openSession(); //XML配置相应使用方法
// User user = session.selectOne("com.miquan.mybatis.bean.UserDB.selectById", 1);
// System.out.println(user.toString()); //接口调使用方法
//////注意:insert、delete和update方法调用之后必须commit才干真正的改变数据
IUserOperation userOperation = session.getMapper(IUserOperation.class); //查
// User user = userOperation.selectById(1);
// System.out.println(user.toString()); //查找List
// List<User> users = userOperation.selectUsers("miquan");
// System.out.println(users.size()); //增
// User user = new User();
// user.setUserName("zhiquan");
// user.setPassword("999");
// userOperation.addUser(user);
// session.commit(); //删
// userOperation.delUser(7);
// session.commit(); //改
User user = new User(8, "qiantu", "shaxppp");
userOperation.updateUser(user);
session.commit();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
session.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}

简单的增删查改能够实现了。

mybatis 的简单使用的更多相关文章

  1. Mybatis框架简单使用

    Mybatis框架简单使用 环境搭建 新建一个JavaWeb项目,在web\WEB-INF\创建lib文件,并且在其下添加Mybatis的核心包以及依赖包,以及Mysql驱动包,junit4测试包等. ...

  2. MyBatis(1)-简单入门

    简介 什么是 MyBatis ? MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.My ...

  3. MyBatis 使用简单的 XML或注解用于配置和原始映射

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis .My ...

  4. 单独使用MyBatis的简单示例

    单独使用MyBatis的简单示例:mybaties-config.xml:MyBatis配置文件 <?xml version="1.0" encoding="UTF ...

  5. Mybatis的简单增删改查

    刚开始学习Mybatis可以先看下官方文档,MyBatis是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis避免了几乎所有的JDBC代码和手工设置参数以及抽取结果集.MyBat ...

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

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

  7. Mybatis实现简单增删改查

    Mybatis的简单应用 学习内容: 需求 环境准备 代码 总结: 学习内容: 需求 使用Mybatis实现简单增删改查(以下是在IDEA中实现的,其他开发工具中,代码一样) jar 包下载:http ...

  8. MyBatis学习--简单的增删改查

    jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: Public static void main(String[] args) ...

  9. Mybatis的简单示例

    首先新建一个JavaWeb项目并导入mybatis依赖的jar包,同时Mybatis是对数据库的操作所以我们需要在数据库中新建一个表user用来演示. 新建完表之后我们还需要建立相对应的实体类User ...

  10. MyBatis的简单操作

    这里将的是简单的增.删.改.查等基本操作 首先创建java项目,导入相应的依赖包,这里可以参考上一篇博客 1.添加数据 在jike.book.pojo包中,新建java类 JiKeUser.java: ...

随机推荐

  1. 搭建OA平台

    公司没有OA平台的原因是: 1.暂时没有上的必要. 2.总厂有一个web版的用友的OA. 但最近法方总经理提到了共享日历日程的需求. 这个需求的主要要整合的是把outlook的日历功能共享.原来微软是 ...

  2. Datagridview列绑定数据

    属性最下面的Column项: 把每一列的字段绑定,更改显示的标题. 数据绑定代码: string sql = "select IncomeExpendTypeID , TypeName , ...

  3. GDSOI2015 task2 覆盖半径

    题目大意 一个\(n\times m\)的矩阵中有\(p\)个已经确定圆心的圆,并且每个格子有一定的分数,如果一个格子被任意一个或以上的圆覆盖,那么就可以得到这个格子的分数.现在求最小的半径,使得得分 ...

  4. Android开发之SoundPool使用具体解释

    使用SoundPool播放音效 假设应用程序常常播放密集.急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了.由于MediaPlayer存在例如以下缺点: 1)      ...

  5. 【linux kernel】 中断处理-中断下半部

    欢迎转载,转载时需保留作者信息,谢谢. 邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http:// ...

  6. 基于visual Studio2013解决面试题之1101差值最小

     题目

  7. 基于visual Studio2013解决面试题之0808寻找中间数

     题目

  8. 在 Visual Studio 调试器中指定符号 (.pdb) 和源文件

    查找并指定符号文件和源文件:指定符号加载行为.使用符号和源服务器上:加载符号自动或在要求.   内容 查找符号 (.pdb) 文件 查找源文件   查找符号 (.pdb) 文件 说明 在之前的 Vis ...

  9. display:inline-block的运用

    在实习中做专题时,遇到的一个问题:建立一个宽度很长的一个页面,里面包含许多列.或许许多人认为直接设置float:left:不就行了 但是这个有一个问题,你必须把外面的div的宽度设置的很长已满足大于所 ...

  10. 使用 Spring RestTemplate 调用 rest 服务时自定义请求头(custom HTTP headers)

    在 Spring 3.0 中可以通过  HttpEntity 对象自定义请求头信息,如: private static final String APPLICATION_PDF = "app ...