转自: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 45 10 11 13 14 2512 26 36 4027 3528 29 3430 31 32 33 41 4342
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 56 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 }
现在运行这个程序,是不是得到查询结果了。恭喜你,环境搭建配置成功,接下来第二章,将讲述基于接口的操作方式,增删改查。
整个工程目录结构如下: