博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mybatis学习笔记一(入门)
阅读量:6833 次
发布时间:2019-06-26

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

  昨天看了一下mybatis,学习了一下有很多东西还不懂,但是想把一些知道的记录一下,如有错误请大家多多指点。

 

  mybatis它是apche的一个开源项目,它以前的没名字并不是叫mybatis而是叫ibatis,2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis[1]。

  1. 与其他的框架区别

  mybatis和hibernate差不多都是,都属于优秀持久层的框架,主要负责访问数据库。但是和hibernate还是有区别的,hibernate是数据纯属的面对对象变成,我们的所有操作基本都是在操作对象,我们根本就不用去负责sql语句,这样会导致我们失去了对sql语句的控制。而mybatis虽说也是在对象进行操作但是不同于hibernate,mybatis可以自己来写sql语句,这样显得更加容易控制一些。

  2. 项目演示

  2.1 创建数据库和表

    

    

 

 

 

  2.2 mybatis所需要的jar包

    mybatis-3.3.0.jar(mybatis包)

    mysql-connector-java-5.1.13-bin.jar(mysql的链接驱动jar包)

    

 2.3mybatis配置文件

  我一般都喜欢在项目你在创建一个源码包用来存放配置文件(New->source folder)

   

  在源码包中写一个mybatis.xml文件在这个文件中编写mybatis的配置

  

1 
2 5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

   2.4 properties配置文件

  

  2.5 编写实体类

  该实体类要与数据库中的表相对应,在类(User)中写个tostring方法便于我们查看

1 package com.home.entity; 2  3 /** 4  * 此类是:user实体类 5  * @author hpc 6  * @2017年1月10日下午9:36:59 7  */ 8 public class User { 9     private Integer user_id;10     private String user_name;11     private String user_pwd;12     public Integer getUser_id() {13         return user_id;14     }15     public void setUser_id(Integer user_id) {16         this.user_id = user_id;17     }18     public String getUser_name() {19         return user_name;20     }21     public void setUser_name(String user_name) {22         this.user_name = user_name;23     }24     public String getUser_pwd() {25         return user_pwd;26     }27     public void setUser_pwd(String user_pwd) {28         this.user_pwd = user_pwd;29     }30     @Override31     public String toString() {32         return "User [user_id=" + user_id + ", user_name=" + user_name + ", user_pwd=" + user_pwd + "]";33     }34     35 }

  2.6 编写映射关系文件

    文件名可以随意但是为了一目了然的效果,我们通常是  类名+mapper.xml命名(userMapper.xml)。写完后将我们写好的映射文件在mybatis.xml文件中的mappers标签中注册。

    

1 
2 3
4
5
11
18

  2.7 编写测试类

 

1 package com.home.mybatis; 2  3 import java.io.IOException; 4 import java.io.InputStream; 5  6 import org.apache.ibatis.session.SqlSession; 7 import org.apache.ibatis.session.SqlSessionFactory; 8 import org.apache.ibatis.session.SqlSessionFactoryBuilder; 9 10 import com.home.entity.User;11 12 public class TestApp {13     public static void main(String[] args) throws IOException {14         // mybatis的配置文件15         String resource = "mybatis.xml";16         // 使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)17         InputStream is = TestApp.class.getClassLoader()18                 .getResourceAsStream(resource);19         // 构建SqlSessionFactory,通过SqlSessionFactory来获取session20         SqlSessionFactory sf = new SqlSessionFactoryBuilder().build(is);21         // 通过SqlSessionFactory获取session22         SqlSession session = sf.openSession();23         // 你要执行个哪一个sql,指定方式是:mapper标签的namespace属性+查询语句标签的id属性(namespace+id)24         String statement = "com.home.entity.userMapper.loadUser";25         // 查询一条记录,给他指定的sql和参数,参数要与你配置时给定参数类型一致否则会报类型异常26         User user = session.selectOne(statement, 1);27         // 打印user28         System.out.println(user);29     }30 }

  2.8 效果展示

   

 

转载于:https://www.cnblogs.com/mohehpc/p/6274491.html

你可能感兴趣的文章
c异或加密与解密
查看>>
【转载】ESFramework 平台下可复用的Tcp通信层实现
查看>>
python lib
查看>>
分布式学习资料-专著列表
查看>>
9.配置postfix空客户端
查看>>
计数排序详解以及java实现
查看>>
HTML5介绍
查看>>
图片的title属性和alt属性的区别
查看>>
iOS社会化分享(干货)
查看>>
第八章实验报告
查看>>
使用 gzexe 快速加密解密文件内容
查看>>
java jvm学习笔记十(策略和保护域)
查看>>
Linux(CentOS)挂载移动硬盘
查看>>
JaveWeb 公司项目(7)----- 通过JS动态生成DIV
查看>>
python_控制台输出带颜色的文字方法
查看>>
TiDB 深度实践之旅--真实“踩坑”经历
查看>>
通过Cloudera Manager安装CDH 5.6
查看>>
Android通过JNI实现与C语言的串口通讯操作蓝牙硬件模块
查看>>
《Java实战开发经典》第五章5.3
查看>>
Codeforces Round #247 (Div. 2) D. Random Task
查看>>