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

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. Cool Edit Pro 2.0详细教程(转)

      系统介绍一下用Cooledit pro 2.0录制自唱歌曲的一个全过程,希望对喜欢唱歌,想一展歌喉的朋友有所帮助. 录制原声 录音是所有后期制作加工的基础,这个环节出问题,是无法靠后期加工来补救的 ...

  2. ZOJ3768 夹逼查找【STL__lower_bound()_的应用】

    首先学习一下lower_bound() 函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置.如果所有元素都小于val,则返回last ...

  3. Android学习笔记:进度条ProgressBar的使用以及与AsyncTask的配合使用

    ProgressBar时android用于显示进度的组件.当执行一个比较耗时的操作(如io操作.网络操作等),为了避免界面没有变化让用户体验降低,提供一个进度条可以让用户知道程序还在运行. 一.Pro ...

  4. 用ATL写简单的ActiveX控件 .

    我正在做的项目需要用读卡器来读数据,由于系统是B/S架构的所以只能把读卡器的驱动封装成一个无界面的ActiveX控件,这样web页面中的js代码才能访问读卡器其实做起来也挺简单的,我用的环境是VS20 ...

  5. php 上传文件代码

    通过 PHP,能够把文件上传到server.里面加入一些图片的推断,假设不加推断文件的类型就能够上传随意格式的文件. 为了站点的安全,肯定不让上传php文件,假设有人进入你的后台,上传了一个php文件 ...

  6. mysql服务无法启动

    可能是没有data文件夹,可以新建或拷贝以前的data文件夹到安装目录.

  7. c++, class的大小

    不为类.对象的函数分配空间: 在类中如果有virtual声明的虚函数,则会隐藏一个指针,该指针指向虚函数表,这对于纯虚函数也是一样: 对于虚继承,还有一个指向父类的指针,该指针为指向虚基类的指针(Po ...

  8. BZOJ 1112: [POI2008]砖块Klo1112( BST )

    枚举每个长度为k的区间, 然后用平衡树找中位数进行判断, 时间复杂度O(nlogn). 早上起来精神状态不太好...连平衡树都不太会写了...果断去看了会儿番然后就A了哈哈哈 ------------ ...

  9. VS2008+Qt 项目目录

    1.项目开发环境:VS2008,QT4.7 2.项目的目录: 1)PETCT是解决方案名字 2)Bin目录存放所有动态链接库和执行档,包括自己的产出和第三方库,区分Release和Debug两个版本. ...

  10. Java中int类型和tyte[]之间转换及byte[]合并

    JAVA基于位移的 int类型和tyte[]之间转换 [java] view plaincopy /** * 基于位移的int转化成byte[] * @param int number * @retu ...