博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深入浅出Mybatis系列(一)---Mybatis入门[转]
阅读量:5317 次
发布时间:2019-06-14

本文共 4328 字,大约阅读时间需要 14 分钟。

  最近两年 springmvc + mybatis 的在这种搭配还是蛮火的,楼主我呢,也从来没真正去接触过mybatis, 趁近日得闲, 就去学习一下mybatis吧。 本次拟根据自己的学习进度,做一次关于mybatis 的一系列教程, 记录自己的学习历程, 同时也给还没接触过mybatis的朋友探一次道。本系列教程拟 由浅(使用)入深(分析mybatis源码实现),故可能需要好长几天才能更新完。好啦,下面就开始本次的mybatis 学习之旅啦, 本次为第一篇教程, 就先简单地写个demo, 一起来认识一下mybatis吧。  

  为了方便,我使用了maven, 至于maven怎么使用, 我就不做介绍了。没用过maven的, 也不影响阅读。

一、Mybatis环境搭建及简单实例

1. 新建web项目, 添加依赖包:mybatis包、数据库驱动包(我使用的是mysql)、日志包(我使用的是log4j), 由于我的是maven项目, 那么添加依赖包就简单了,直接在pom.xml添加依赖即可。

pom.xml:

junit
junit
4.11
test
log4j
log4j
1.2.16
org.mybatis
mybatis
3.2.6
mysql
mysql-connector-java
5.1.12

2. 配置log4j, 配置mybatis

  在classpath建立一个用于配置log4j的配置文件log4j.properties, 再建立一个用于配置Mybatis的配置文件configuration.xml(文件可随便命名)。log4j的配置,我就不多说,这儿主要说一下configuration.xml:

configuration.xml:

 

1 
2 5
6 7
8
9 10
11
12
13
14 15
16
17
18
19
26 27
28
29
30
31
32 33
34
35
36 37
38
39
40
41 42

3. 开始写Demo

  首先,在mysql数据库test1建立一张表user:

 

  

  然后,开始编写java代码。

  看看我的项目结构:

  

 

先编写一个实体类User: User类用于与User表相对应。

User:

1 package com.dy.entity; 2  3 public class User { 4  5     private int id; 6     private String name; 7     private String password; 8     private int age; 9     private int deleteFlag;10     11     public int getId() {12         return id;13     }14     public void setId(int id) {15         this.id = id;16     }17     public String getName() {18         return name;19     }20     public void setName(String name) {21         this.name = name;22     }23     public String getPassword() {24         return password;25     }26     public void setPassword(String password) {27         this.password = password;28     }29     public int getAge() {30         return age;31     }32     public void setAge(int age) {33         this.age = age;34     }35     public int getDeleteFlag() {36         return deleteFlag;37     }38     public void setDeleteFlag(int deleteFlag) {39         this.deleteFlag = deleteFlag;40     }41     42 }

再编写一个UserDao 接口:

UserDao:

 

1 package com.dy.dao; 2  3 import java.util.List; 4  5 import com.dy.entity.User; 6  7 public interface UserDao { 8  9     public void insert(User user);10     11     public User findUserById (int userId);12     13     public List
findAllUsers();14 15 }

再编写一个userDao-mapping.xml (可随便命名):

userDao-mapping.xml:

1 
2 5
6 7
10 11

userDao-mapping.xml相当于是UserDao的实现, 同时也将User实体类与数据表User成功关联起来。

4. 下面编写junit测试代码UserDaoTest:

 UserDaoTest:

 

1 public class UserDaoTest { 2  3     @Test 4     public void findUserById() { 5         SqlSession sqlSession = getSessionFactory().openSession();   6         UserDao userMapper = sqlSession.getMapper(UserDao.class);   7         User user = userMapper.findUserById(2);   8         Assert.assertNotNull("没找到数据", user); 9     }10     11     //Mybatis 通过SqlSessionFactory获取SqlSession, 然后才能通过SqlSession与数据库进行交互12     private static SqlSessionFactory getSessionFactory() {  13         SqlSessionFactory sessionFactory = null;  14         String resource = "configuration.xml";  15         try {  16             sessionFactory = new SqlSessionFactoryBuilder().build(Resources  17                     .getResourceAsReader(resource));18         } catch (IOException e) {  19             e.printStackTrace();  20         }  21         return sessionFactory;  22     }  23     24 } 好啦,这样一个简单的mybatis 的demo就能成功运行啦。通过这个demo, 应该你就也能初步看出mybatis的运行机制,如果不清楚,也没关系。从下一篇文章开始,才开始正式讲解mybatis。

转载于:https://www.cnblogs.com/0x2D-0x22/p/4147436.html

你可能感兴趣的文章
Spring面试题
查看>>
C语言栈的实现
查看>>
SRM 628 DIV2
查看>>
2018-2019-2 20165314『网络对抗技术』Exp5:MSF基础应用
查看>>
SecureCRT的使用方法和技巧(详细使用教程)
查看>>
自建数据源(RSO2)、及数据源增强
查看>>
2018icpc徐州OnlineA Hard to prepare
查看>>
使用命令创建数据库和表
查看>>
linux下Rtree的安装
查看>>
PHP魔术方法之__call与__callStatic方法
查看>>
【模板】对拍程序
查看>>
【转】redo与undo
查看>>
Django 模型层
查看>>
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
安卓当中的线程和每秒刷一次
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
标识符
查看>>