mybatis入门例子

开发步骤:

1.创建java工程
2.加入jar包(依赖包、驱动包)
3.创建sqlMapConfig.xml
4.创建数据库,数据库表USER_C,插入测试记录
5.创建PO对象 user.java
6.创建映射文件 User.xml
7.创建测试类

占位符:

iBatis  #id#

myBatis  #{id}

1、创建web工程

2、导入jar包:

mybatis-3.2.2.jar
 
asm-3.3.1.jar
cglib-2.2.2.jar
commons-logging-1.1.1.jar
javassist-3.17.1-GA.jar
log4j-1.2.17.jar
slf4j-api-1.7.5.jar
slf4j-log4j12-1.7.5.jar
 

3、配置文件 sqlMapConfig.xml :

事务:JDBC/MANAGED

数据源:UNPOOLED/POOLED/JNDI

  1. 1 <?xml version="1.0" encoding="UTF-8" ?>
  2. 2 <!DOCTYPE configuration
  3. 3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. 4 "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. 5 <configuration>
  6. 6 <environments default="development">
  7. 7 <environment id="development">
  8. 8 <transactionManager type="JDBC"/>
  9. 9 <dataSource type="POOLED">
  10. 10 <property name="driver" value="com.mysql.jdbc.Driver"/>
  11. 11 <property name="url" value="jdbc:mysql://localhost:3306/mybatisdb?characterEncoding=UTF-8"/>
  12. 12 <property name="username" value="root"/>
  13. 13 <property name="password" value="root"/>
  14. 14 </dataSource>
  15. 15 </environment>
  16. 16 </environments>
  17. 17
  18. 18 <mappers>
  19. 19 <mapper resource="cn/itcast/mybatis/domain/User.xml"/>
  20. 20 </mappers>
  21. 21 </configuration>

4.创建数据库

创建mybatisdb数据库
创建User表

create table USER_C

(

ID                   varchar(40) not null,

NAME                 varchar(30),

AGE                  int,

ADDRESS              varchar(200),

primary key (ID)

);

insert  into `user_c`(`id`,`name`,`age`,`address`)

values ('1','夏言',73,'桂州村'),

('2','严嵩',87,'分宜县城介桥村'),

('3','徐阶',80,'明松江府华亭县'),

('4','高拱',66,'河南省新郑市高老庄村'),

('5','张居正',58,'江陵');

5、映射文件 cn.itcast.mybatis.domain.User.xml :

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

6、PO对象 User.java :

  1. 1 package cn.itcast.domain;
  2. 2
  3. 3 public class User {
  4. 4 private String id;
  5. 5 private String name;
  6. 6 private Integer age;
  7. 7 private String address;
  8. 8 public String getAddress() {
  9. 9 return address;
  10. 10 }
  11. 11 public void setAddress(String address) {
  12. 12 this.address = address;
  13. 13 }
  14. 14 public String getId() {
  15. 15 return id;
  16. 16 }
  17. 17 public void setId(String id) {
  18. 18 this.id = id;
  19. 19 }
  20. 20 public String getName() {
  21. 21 return name;
  22. 22 }
  23. 23 public void setName(String name) {
  24. 24 this.name = name;
  25. 25 }
  26. 26 public Integer getAge() {
  27. 27 return age;
  28. 28 }
  29. 29 public void setAge(Integer age) {
  30. 30 this.age = age;
  31. 31 }
  32. 32 @Override
  33. 33 public String toString() {
  34. 34 return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
  35. 35 }
  36. 36
  37. 37 }

7、测试类:

  1. 1 package cn.itcast.test;
  2. 2
  3. 3 import java.io.IOException;
  4. 4 import java.io.InputStream;
  5. 5 import java.util.List;
  6. 6 import java.util.UUID;
  7. 7
  8. 8 import org.apache.ibatis.io.Resources;
  9. 9 import org.apache.ibatis.session.SqlSession;
  10. 10 import org.apache.ibatis.session.SqlSessionFactory;
  11. 11 import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  12. 12 import org.junit.Before;
  13. 13 import org.junit.Test;
  14. 14
  15. 15 import cn.itcast.domain.User;
  16. 16
  17. 17 public class TestMybatis {
  18. 18
  19. 19 SqlSessionFactory sqlSessionFactory;
  20. 20
  21. 21 @Before
  22. 22 public void initFactory() throws IOException
  23. 23 {
  24. 24 String resource = "sqlMapConfig.xml";
  25. 25
  26. 26 InputStream inputStream = Resources.getResourceAsStream(resource);
  27. 27
  28. 28 sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  29. 29 }
  30. 30
  31. 31 @Test
  32. 32 public void testListAll()
  33. 33 {
  34. 34 SqlSession session=sqlSessionFactory.openSession();
  35. 35 List<User> users=session.selectList("cn.itcast.mybatis.listAll");
  36. 36 System.out.println(users.size());
  37. 37 }
  38. 38 @Test
  39. 39 public void testQueryOne()
  40. 40 {
  41. 41 SqlSession session=sqlSessionFactory.openSession();
  42. 42 User user=session.selectOne("cn.itcast.mybatis.getOne", 1);
  43. 43 System.out.println(user);
  44. 44 }
  45. 45 //事务需要程序员处理
  46. 46 @Test
  47. 47 public void testInsertOne()
  48. 48 {
  49. 49 User u=new User();
  50. 50 u.setId(UUID.randomUUID().toString());
  51. 51 u.setName("sbsbb");
  52. 52 u.setAge(18);
  53. 53 u.setAddress("china");
  54. 54 SqlSession session=sqlSessionFactory.openSession();
  55. 55 int count=session.insert("cn.itcast.mybatis.insertOne", u);
  56. 56 session.commit();
  57. 57 System.out.println(count);
  58. 58 }
  59. 59
  60. 60 @Test
  61. 61 public void testUpdateOne()
  62. 62 {
  63. 63 SqlSession session=sqlSessionFactory.openSession();
  64. 64 User u=new User();
  65. 65 //u=session.selectOne("cn.itcast.mybatis.getOne", "2");
  66. 66 u.setId("2");
  67. 67 u.setName("clclclclclcfei");
  68. 68 u.setAge(100);
  69. 69 u.setAddress("USA");
  70. 70 int count=session.update("cn.itcast.mybatis.updateOne", u);
  71. 71 session.commit();
  72. 72 System.out.println(count);
  73. 73 }
  74. 74 @Test
  75. 75 public void testDeleteOne()
  76. 76 {
  77. 77 SqlSession session=sqlSessionFactory.openSession();
  78. 78 User u=new User();
  79. 79 u.setId("2");
  80. 80 int count=session.delete("cn.itcast.mybatis.deleteOne", u);
  81. 81 session.commit();
  82. 82 System.out.println(count);
  83. 83 }
  84. 84
  85. 85
  86. 86
  87. 87 }

MyBatis学习(一)一个简单的例子的更多相关文章

  1. OpenCV学习(2)——一个简单的例子

    光说不练假把式,来看一个简单的例子,了解了解OpenCV.这个小demo没有几行代码,作用是显示项目目录下面的一张图片. #include <opencv2\opencv.hpp> #in ...

  2. 新秀学习Hibernate——一个简单的例子

    一个.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了可以使用Hibernate高速上手,我们先解说一个简单的Hibernate应用实例hibernat ...

  3. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)

    梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...

  4. Spring-Context之一:一个简单的例子

    很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...

  5. 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)

    使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...

  6. 用一个简单的例子来理解python高阶函数

    ============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...

  7. 关于apriori算法的一个简单的例子

    apriori算法是关联规则挖掘中很基础也很经典的一个算法,我认为很多教程出现大堆的公式不是很适合一个初学者理解.因此,本文列举一个简单的例子来演示下apriori算法的整个步骤. 下面这个表格是代表 ...

  8. 扩展Python模块系列(二)----一个简单的例子

    本节使用一个简单的例子引出Python C/C++ API的详细使用方法.针对的是CPython的解释器. 目标:创建一个Python内建模块test,提供一个功能函数distance, 计算空间中两 ...

  9. fitnesse - 一个简单的例子(slim)

    fitnesse - 一个简单的例子(slim) 2017-09-30 目录1 编写测试代码(Fixture code)2 编写wiki page并运行  2.1 新建wikiPage  2.2 运行 ...

  10. Struts2的配置和一个简单的例子

    Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...

随机推荐

  1. ios开发之--MJRefresh上拉加载的时候,tableview会向上偏移

    1,出现这种情况的原因: 这个应该是UITableView最大的改变.我们知道在iOS8引入Self-Sizing之后,我们可以通过实现estimatedRowHeight相关的属性来展示动态的内容, ...

  2. 1. Oracle安装部署文档

    一. 部署环境步骤 1.1 软件环境 操作系统:CentOS release 6.5oracle安装包:linux.x64_11gR2_database_1of1.zip:linux.x64_11gR ...

  3. 执行RF设置顶级测试套件的名称

    场景1:通过pybot进行单个output文件情况下设置 -N --name name 设置顶级测试套件的名称.名称中的下划线将转换为空格. 默认名称为执行的数据源的名称. 场景2:通过rebot进行 ...

  4. MongoDB(四)-- 主从配置

    一.前言 虽然MongoDB官方已经不建议使用主从模式了,但是 熟悉下 也是有用的,替代方案是采用副本集的模式.slave默认情况下是不支持读写的,但是master会把数据同步到slave,不支持客户 ...

  5. 把Model改成Lib

    1.把库的Activity删掉 2.把库的Application节点内容删掉 3.apply plugin:' 包名.library' 4.把ApplicationId去掉, 导入即可使用

  6. 在vs2012中使用installShield2015打包程序

    环境:vs2012,installShield2015 vs2012下写了一个小工具,winform的程序,在内部使用,网上搜索说是打包的话需要installShield,折腾之. installSh ...

  7. php文件的处理和操作

    好长时间没有看php手册了,有些关于文件操作方面的知识点发现从没有学过,现补习一下,顺便整理一下: 1.文件的打开:fopen()   此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪 ...

  8. WP8.1学习系列(第十九章)——事件和路由事件概述

    我们将介绍在使用 C#.Visual Basic 或 Visual C++ 组件扩展 (C++/CX) 作为编程语言并使用 XAML 进行 UI 定义时,针对 Windows 运行时应用的事件的编程概 ...

  9. 【抓包分析】 charles + 网易mumu 模拟器数据包

    charles  的使用.我就不再多说了.可以参考以往文章,传送门: https://www.cnblogs.com/richerdyoung/p/8616674.html 此处主要说网易模拟器的使用 ...

  10. 【SPMF开源数据挖掘平台入门】MaxSP算法使用说明

    前段时间,由于项目中用到了序列挖掘的算法,师兄推荐我用用SPMF.在此做个记录. 首先简单介绍一下SPMF: SPMF是一个采用Java开发的开源数据挖掘平台. 它提供了51种数据挖掘算法实现,用于: ...