需要用到的包:(这里只是其中一个版本,其他的百度)

mysql-connector-java-5.1.6-bin

mybatis-3.2.2

先看项目目录:

配置文件mybatisconfig.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6. <!-- 用XML映射的时候必须配此项!指定mappers里面的返回值对应的实体类 -->
  7. <!-- <typeAliases>
  8. <typeAlias alias="User" type="com.miquan.mybatis.bean.User"/>
  9. </typeAliases> -->
  10. <!-- JDBC配置 -->
  11. <environments default="development">
  12. <environment id="development">
  13. <transactionManager type="JDBC"/>
  14. <dataSource type="POOLED">  <!--POOLED指的是:已经缓存的,即使用缓存-->
  15. <property name="driver" value="com.mysql.jdbc.Driver"/>
  16. <property name="url" value="jdbc:mysql://localhost:3306/weixinface"/>
  17. <property name="username" value="root"/>
  18. <property name="password" value=""/>
  19. </dataSource>
  20. </environment>
  21. </environments>
  22. <!-- mappers,每个实体类对应着一个xml -->
  23. <mappers>
  24. <mapper resource="com/miquan/mybatis/bean/User.xml"/>
  25. </mappers>
  26. </configuration>

实体类User.java:

  1. package com.miquan.mybatis.bean;
  2. public class User {
  3. private int id;
  4. private String userName;
  5. private String password;
  6. public User(int id, String userName, String password) {
  7. super();
  8. this.id = id;
  9. this.userName = userName;
  10. this.password = password;
  11. }
  12. public int getId() {
  13. return id;
  14. }
  15. public void setId(int id) {
  16. this.id = id;
  17. }
  18. public String getUserName() {
  19. return userName;
  20. }
  21. public void setUserName(String userName) {
  22. this.userName = userName;
  23. }
  24. public String getPassword() {
  25. return password;
  26. }
  27. public void setPassword(String password) {
  28. this.password = password;
  29. }
  30. }

User.xml:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <!-- namespace对应着接口类 -->
  6. <mapper namespace="com.miquan.mybatis.inter.IUserOperation">
  7. <!-- <select id="selectById" parameterType="int" resultType="User">
  8. select * from User where id = #{id}
  9. </select> -->
  10. </mapper>

IUserOperation.java:

  1. package com.miquan.mybatis.inter;
  2. import java.util.List;
  3. import org.apache.ibatis.annotations.Delete;
  4. import org.apache.ibatis.annotations.Insert;
  5. import org.apache.ibatis.annotations.Select;
  6. import org.apache.ibatis.annotations.Update;
  7. import com.miquan.mybatis.bean.User;
  8. public interface IUserOperation {
  9. @Select("select * from User where id = #{id}")
  10. public User selectById(int id);
  11. @Select("select * from User where userName = #{userName}")
  12. public List<User> selectUsers(String userName);
  13. @Insert("insert into User values(null, #{userName}, #{password})")
  14. public boolean addUser(User user);
  15. @Delete("delete from User where id = #{id}")
  16. public boolean delUser(int id);
  17. @Update("update User "
  18. + "set userName = #{userName}, "
  19. + "password = #{password} "
  20. + "where id = #{id}")
  21. public boolean updateUser(User user);
  22. }

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

(不知道为什么,用着就是不可以。。。方法名不能一样)

最后进行测试:Test.java:

  1. package com.miquan.mybatis.test;
  2. import java.io.InputStream;
  3. import java.util.List;
  4. import org.apache.ibatis.io.Resources;
  5. import org.apache.ibatis.session.SqlSession;
  6. import org.apache.ibatis.session.SqlSessionFactory;
  7. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  8. import com.miquan.mybatis.bean.User;
  9. import com.miquan.mybatis.inter.IUserOperation;
  10. public class Test {
  11. static SqlSession session;
  12. public static void main(String[] args) {
  13. try {
  14. //获取session
  15. InputStream is = Resources.getResourceAsStream("mybatisconfig.xml");
  16. SqlSessionFactory sqlSessionFactory =
  17. new SqlSessionFactoryBuilder().build(is);
  18. session = sqlSessionFactory.openSession();
  19. //XML配置对应用法
  20. //          User user = session.selectOne("com.miquan.mybatis.bean.UserDB.selectById", 1);
  21. //          System.out.println(user.toString());
  22. //接口调用法
  23. //////注意:insert、delete和update方法调用之后必须commit才能真正的改变数据
  24. IUserOperation userOperation = session.getMapper(IUserOperation.class);
  25. //查
  26. //          User user = userOperation.selectById(1);
  27. //          System.out.println(user.toString());
  28. //查找List
  29. //          List<User> users = userOperation.selectUsers("miquan");
  30. //          System.out.println(users.size());
  31. //增
  32. //          User user = new User();
  33. //          user.setUserName("zhiquan");
  34. //          user.setPassword("999");
  35. //          userOperation.addUser(user);
  36. //          session.commit();
  37. //删
  38. //          userOperation.delUser(7);
  39. //          session.commit();
  40. //改
  41. User user = new User(8, "qiantu", "shaxppp");
  42. userOperation.updateUser(user);
  43. session.commit();
  44. } catch (Exception e) {
  45. e.printStackTrace();
  46. } finally {
  47. try {
  48. session.close();
  49. } catch (Exception e) {
  50. e.printStackTrace();
  51. }
  52. }
  53. }
  54. }

简单的增删查改可以实现了。

[转]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. C基础 时间业务实战代码

    引言 业务代码中遇到这样需求, 1. 二者是同一天吗, 2. 时间戳和时间串来回转, 3. 其它扩展需求 等. C写代码同样需要处理这方面时间问题. 本文就是为了解决这个问题. 相比其它时间库, 这里 ...

  2. Lambda 表达式 in java 8

    Lambda 表达式 in Java 8 Lambda表达式是java 8 新增的特性 Lambda表达式主要作用:支持将代码块作为方法参数,允许使用更简洁的代码创建函数式接口的实例,是匿名内部类的一 ...

  3. iframe弹出框js ie6下存在bug

    ie6的iframe在第一次加载的显示不出来,显示空白,但是很奇怪,刷新就可以正常显示了,一开始以为这只是IE6下iframe加载的bug,但是最后结果发现这是ie6下javascript延迟加载出现 ...

  4. C入门之一

    1.stdio.h不要写错成studio.h 2. #include <stdio.h> int main() { /* 我的第一个 C 程序 */ printf("Hello, ...

  5. 在JAVASCRIPT中构建一个复杂的对象,并用JSON进行转换

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. HBase shell 命令创建表及添加数据操作

    创建表,表名hbase_1102,HBase表是由Key-Value组成的,此表中Key为NAME   此表有两个列族,CF1和CF2,其中CF1和CF2下分别有两个列name和gender,Chin ...

  7. 前端读者 | 前端面试基础手册(HTML+CSS)

    本文来自@羯瑞:希望前端面试基础手册能帮助要找工作的前端小伙伴~~ HTML 前端需要注意哪些SEO? 合理的title.description.keywords:搜索对着三项的权重逐个减小,titl ...

  8. CentOS7配置sentinel高可用redis

    redis哨兵:用于管理和实现多个redis组实现高可用,sentinel哨兵只监控主节点,因为主节点上有所有的从节点信息,当master节点发生故障,sentinel之间会进行投票选举一个slave ...

  9. mongoDB学习第一天之增删改查

    mongoDB 是 no-sql 的一种数据库. 创建数据库: use dbName #数据库中如果存在 dbName ,切换到此数据库:如果不存在此数据库,则创建 dbName 数据库!(tip:当 ...

  10. NOIP2018 提高组题解

    Day1 T1 据说是原题积木大赛,但是考场上蠢了,只会写数据结构,于是写了一个线段树\(+\)堆\(+\)贪心,先选出最小的,然后区间修改,然后把左右两端区间的最小值丢进堆里,不停从堆中去最小值更新 ...