博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.mybatis实战教程mybatis in action之一开发环境搭建
阅读量:7189 次
发布时间:2019-06-29

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

转自:https://www.cnblogs.com/shanheyongmu/p/5652471.html

什么是mybatis
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。

MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检 索。

MyBatis使用简单的XML或注解用于配置和原始映射,

将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录

 

orm工具的基本思想
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:
1. 从配置文件(通常是XML配置文件中)得到 sessionfactory.
2. 由sessionfactory  产生 session
3. 在session 中完成对数据的增删改查和事务提交等.
4. 在用完之后关闭session 。

5. 在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件。

 

 

mybatis实战教程(mybatis in action)之一:开发环境搭建

首先建立一个名字为 MyBaits 的 dynamic web project  
1. 现阶段,你可以直接建立java 工程,但一般都是开发web项目,这个系列教程最后也是web的,所以一开始就建立web工程。
2. 将 mybatis-3.2.0-SNAPSHOT.jar,mysql-connector-java-5.1.22-bin.jar 拷贝到 web工程的lib目录.
3. 创建mysql 测试数据库和用户表,注意,这里采用的是 utf-8 编码

 

创建用户表,并插入一条测试数据

 

1 Create TABLE `user` ( 2   `id` int(11) NOT NULL AUTO_INCREMENT, 3   `userName` varchar(50) DEFAULT NULL, 4   `userAge` int(11) DEFAULT NULL, 5   `userAddress` varchar(200) DEFAULT NULL, 6   PRIMARY KEY (`id`) 7 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; 8  9 10 Insert INTO `user` VALUES ('1', 'summer', '100', 'shanghai,pudong');

 

 

 

到此为止,前期准备工作就完成了。下面开始真正配置mybatis项目了。
1. 在MyBatis 里面创建两个源码目录,分别为 src_user,test_src, 用如下方式建立,鼠标右键点击 JavaResource.

2. 设置mybatis 配置文件:Configuration.xml, 在src_user目录下建立此文件,内容如下:

1 
2 4
5
10
11
12
13 14
25
26
27
28
29
30
31
32
33
34
35
36
40
41
42
43

 

3. 建立与数据库对应的 java class,以及映射文件.
在src_user下建立package:com.yihaomen.mybatis.model ,并在这个 package 下建立 User 类:

1 package com.yihaomen.mybatis.model; 2  3 public class User { 4      5     private int id; 6     private String userName; 7     private String userAge; 8     private String userAddress; 9     10     public int getId() {11         return id;12     }13     public void setId(int id) {14         this.id = id;15     }16     public String getUserName() {17         return userName;18     }19     public void setUserName(String userName) {20         this.userName = userName;21     }22     public String getUserAge() {23         return userAge;24     }25     public void setUserAge(String userAge) {26         this.userAge = userAge;27     }28     public String getUserAddress() {29         return userAddress;30     }31     public void setUserAddress(String userAddress) {32         this.userAddress = userAddress;33     }34 35 }

 

4.同时建立这个User 的映射文件 User.xml:

在User.xml 文件里面 主要是定义各种SQL 语句,以及这些语句的参数,以及要返回的类型等.

1 
2 4 5
6
9

 

开始测试
在test_src 源码目录下建立com.yihaomen.test这个package,并建立测试类Test:

现在运行这个程序,是不是得到查询结果了。恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。
整个工程目录结构如下:

 

1 package com.yihaomen.test; 2  3 import java.io.Reader; 4  5 import org.apache.ibatis.io.Resources; 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.yihaomen.mybatis.model.User;11 12 public class Test {13     private static SqlSessionFactory sqlSessionFactory;14     private static Reader reader; 15 16     static{17         try{18             reader    = Resources.getResourceAsReader("Configuration.xml");19             sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);20         }catch(Exception e){21             e.printStackTrace();22         }23     }24 25     public static SqlSessionFactory getSession(){26         return sqlSessionFactory;27     }28     29     public static void main(String[] args) {30         SqlSession session = sqlSessionFactory.openSession();31         try {32         User user = (User) session.selectOne("com.yihaomen.mybatis.models.UserMapper.selectUserByID", 1);33         System.out.println(user.getUserAddress());34         System.out.println(user.getUserName());35         } finally {36         session.close();37         }38     }39 }

 

现在运行这个程序,是不是得到查询结果了。恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。
整个工程目录结构如下:

 

转载于:https://www.cnblogs.com/sharpest/p/5335373.html

你可能感兴趣的文章
thinkphp5 自动注册Hook机制钩子扩展
查看>>
类的多态(虚函数)
查看>>
JFreeChart入学教程
查看>>
java 放射机制简介
查看>>
Object 的方法总结
查看>>
Redis中5种数据结构的使用场景
查看>>
转:线性表的查找-顺序查找
查看>>
原创: 开题报告中摘要部分快速将一段文字插入到word的表格中
查看>>
TCP/IP协议的关系?
查看>>
rsync 参数说明及使用参数笔记好文摘抄
查看>>
UVA548 Tree (二叉树的遍历)
查看>>
礼物(BFS)
查看>>
相似基因(动态规划)
查看>>
经验小结(个人笔记)
查看>>
jq对页面元素进行排序
查看>>
安装laravel
查看>>
VB调用VC编写的Dll之万恶的参数传递
查看>>
数据库&数据库迁移
查看>>
Spring基础之 反射(Reflection)
查看>>
python判断结构总结
查看>>