Mybatis 开发环境搭建,选择: MyEclipse8.5 版本,mysql 5.5, jdk 1.8, mybatis3.2.3.jar 包。这些软件工具均可以到各自的官方网站上下载。

整个过程在概如下,

1. 在本教程中,建立 java 工程,但一般都是开发 web 项目,这个系列教程最后是 web,但这里为了方便学习,本教程前面建立的都是 java 工程。
2. 将 mybatis-3.2.3.jar,mysql-connector-java-5.1.25-bin.jar 创建两个用户自定库(User Libary):mysql-connector 和 mybatis;
3. 创建 mysql 测试数据库和用户表, 注意,数据库使用的是 utf-8 编码。以解决不必要的中文乱码问题。

一、创建 Java 工程

首先建立一个名字为 Helloword 的 java project。选择 "File" -> "New" ->"Java Project",如下图所示:

这样就创建了一个 Java 工程了,我们继续下一步。接下来我们在 mybatis-start 项目中加入两个所需的程序库:mysql-connector 和 mybatis,右键点击 "mybatis-start" 项目,从弹出的菜单中选择: "Build Path" -> "Add Libaries..." ,如下图所示:

从中选择“User Library",点击“Next>",创建两个类库为:mysql-connector 和 mybatis,如下所示:

点击“User Libararies...",继续下一步,创建一个新的类库,如下图所示:

到此用户的一个类库创建完成,以相同的方式来创建另一个类库:

二、创建数据库和 User 表

创建所需的数据库和表,要创建的数据库是:yiibai,并在 yiibai 数据库创建一个表:user,如下图所示:

创建数据库:yiibai,使用 utf-8 编码。

接下我们创建一个表:user,并插入一条记录信息,其结构如下所示:

  1. CREATE TABLE `user` (
  2. `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  3. `name` varchar(64) NOT NULL DEFAULT '',
  4. `dept` varchar(254) NOT NULL DEFAULT '',
  5. `website` varchar(254) DEFAULT '',
  6. `phone` varchar(16) NOT NULL DEFAULT '',
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;
  9.  
  10. -- ----------------------------
  11. -- Records of user
  12. -- ----------------------------
  13. INSERT INTO `user` VALUES ('1', 'yiibai', 'Tech', 'http://www.yiibai.com', '13800009988');

三、创建 Mybatis 配置文件

到此为止,前期准备工作就完成了。下面开始真正配置 mybatis-start 项目。设置 mybatis 配置文件: Configure.xml, 在 src/config 目录下建立此文件,内容如下:

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

四、创建实体类和映射文件

首先创建一个包:com.yiibai.mybatis.models,并在下创建与数据库表对应的 User.java 类及其映射文件:User.xml,详细如下图所示:

  1. package com.yiibai.mybatis.models;
  2.  
  3. public class User {
  4. private int id;
  5. private String name;
  6. private String dept;
  7. private String phone;
  8. private String website;
  9.  
  10. public String getWebsite() {
  11. return website;
  12. }
  13. public void setWebsite(String website) {
  14. this.website = website;
  15. }
  16. public int getId() {
  17. return id;
  18. }
  19. public void setId(int id) {
  20. this.id = id;
  21. }
  22. public String getName() {
  23. return name;
  24. }
  25. public void setName(String name) {
  26. this.name = name;
  27. }
  28. public String getDept() {
  29. return dept;
  30. }
  31. public void setDept(String dept) {
  32. this.dept = dept;
  33. }
  34. public String getPhone() {
  35. return phone;
  36. }
  37. public void setPhone(String phone) {
  38. this.phone = phone;
  39. }
  40.  
  41. }

同时建立这个 User 类对应的映射文件 User.xml,详细如下代码所示:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4.  
  5. <mapper namespace="com.yiibai.mybatis.models.UserMapper">
  6. <select id="GetUserByID" parameterType="int" resultType="User">
  7. select * from `user` where id = #{id}
  8. </select>
  9. </mapper>

下面是对这几个配置文件一点解释说明:
1、配置文件 Configure.xml 是 mybatis 用来建立 sessionFactory,里面主要包含了数据库连接相关内容,还有 java 类所对应的别名,比如:<typeAlias alias="User" type="com.yiibai.mybatis.models.User"/> 这个别名非常重要,在具体的类的映射中,比如:User.xml 中 resultType 就是对应这个。要保持一致,这里的 resultType 还有另外单独的定义方式,后面学习到我们再详细介绍说明。
2、Configure.xml 里面 的<mapper resource="com/yiibai/mybatis/models/User.xml"/>是包含要映射的类的 xml 配置文件。
3、在User.xml 文件里面主要是定义各种 SQL 语句,以及这些语句的参数,以及要返回的类型等等。

五、运行程序测试结果

在 src 源码目录下建立 一个类叫作:HelloWord, 来运行测试配置环境是否成功,具体代码如下示:

  1. import java.io.Reader;
  2.  
  3. import org.apache.ibatis.io.Resources;
  4. import org.apache.ibatis.session.SqlSession;
  5. import org.apache.ibatis.session.SqlSessionFactory;
  6. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  7.  
  8. import com.yiibai.mybatis.models.*;
  9.  
  10. /**
  11. *
  12. * @author yiibai
  13. * @copyright http://www.yiibai.com
  14. * @date 2015/09/22
  15. */
  16. public class HelloWord {
  17. private static SqlSessionFactory sqlSessionFactory;
  18. private static Reader reader;
  19.  
  20. static {
  21. try {
  22. reader = Resources.getResourceAsReader("config/Configure.xml");
  23. sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
  24. } catch (Exception e) {
  25. e.printStackTrace();
  26. }
  27. }
  28. public static SqlSessionFactory getSession() {
  29. return sqlSessionFactory;
  30. }
  31. /**
  32. * @param args
  33. */
  34. public static void main(String[] args) {
  35. // TODO Auto-generated method stub
  36. SqlSession session = sqlSessionFactory.openSession();
  37. try {
  38. User user = (User) session.selectOne(
  39. "com.yiibai.mybatis.models.UserMapper.GetUserByID", 1);
  40. if(user!=null){
  41. String userInfo = "名字:"+user.getName()+", 所属部门:"+user.getDept()+", 主页:"+user.getWebsite();
  42. System.out.println(userInfo);
  43. }
  44. } finally {
  45. session.close();
  46. }
  47. }
  48.  
  49. }

现在运行这个程序,不是得到查询结果了?正确的输出结果应该如下:

  1. 名字:yiibai, 所属部门:Tech, 主页:http://www.yiibai.com

MyBatis环境配置及入门的更多相关文章

  1. mybatis环境配置与入门例子

    1.jar包的导入 mybatis需要jar包:mybatis-3.4.6.jar mysql驱动jar包:mysql-connector-java-5.1.34.-bin.jar 日志记录jar包: ...

  2. idea spring+springmvc+mybatis环境配置整合详解

    idea spring+springmvc+mybatis环境配置整合详解 1.配置整合前所需准备的环境: 1.1:jdk1.8 1.2:idea2017.1.5 1.3:Maven 3.5.2 2. ...

  3. Mybatis环境配置学习

    Mybatis的使用环境配置步骤主要分为以下三步 1.导入jar包 2.创建mybatis的全局配置文件,并编写 3.创建mapper的配置文件 一.导入jar包 --- (踩坑:这一步中的导入mys ...

  4. [教程] Spring+Mybatis环境配置多数据源

    一.简要概述 在做项目的时候遇到需要从两个数据源获取数据,项目使用的Spring + Mybatis环境,看到网上有一些关于多数据源的配置,自己也整理学习一下,然后自动切换实现从不同的数据源获取数据功 ...

  5. MyBatis环境搭建配置文件+入门视频下载

    1.MyBatis优点 操作简单话,代码量少,效率高,成本就降低了 2.MyBatis缺点 参数只能限制为一个 selece语都要手动来写 3.与JDBC的关系:是对JDBC的扩展 把sql语句和ja ...

  6. MyBatis环境配置

    <settings> <!-- 使全局的映射器启用或禁用缓存. --> <setting name="cacheEnabled" value=&quo ...

  7. cocos环境配置 -cocos2dx 入门

    cocos最好的是安装官方exe,官方会把cocos 3.10和cocos studio都安装好. Cocos2d-x v3.10:点击http://www.cocos.com/,进入cocos官网, ...

  8. springboot学习入门简易版八---springboot2.0多环境配置、整合mybatis mysql8+(19-20)

    2.11 SpringBoot多环境配置(19)  application.properties中配置 Spring.profiles.active=prd 配置环境: Application-dev ...

  9. Mybatis学习笔记之一(环境搭建和入门案例介绍)

    一.Mybatis概述 1.1 Mybatis介绍 MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了go ...

随机推荐

  1. Flink KAFKA

    https://data-artisans.com/blog/kafka-flink-a-practical-how-to https://github.com/dataArtisans/kafka- ...

  2. Tornado使用-队列Queue

    1.tornado队列的特点 和python标准队列queue相比,tornado的队列Queue支持异步 2.Queue常用方法 Queue.get() 会暂停,直到queue中有元素 Queue. ...

  3. 每日英语:Google Scraps Plan to Build Hong Kong Data Center

    Internet giant Google Inc. has scrapped a plan to build its own data center in Hong Kong and will in ...

  4. 每日英语:China's Wistful Wen Gets His Wish

    As his term as premier was drawing to a close, Wen Jiabao reflected wistfully on some of the goals h ...

  5. Asp.Net正则过滤一个div

    Asp.Net过滤一对标签,例如div.ul.p.li.span等 html = “html page”; Regex regPage = new Regex(@"(?is)<div\ ...

  6. linux centOS6 nexus 开启自动启动

    sudo ln -s /opt/nexus-2.6.4/nexus-2.6.4-02/bin/nexus /etc/init.d/nexus 使用  service nexus status/star ...

  7. 【Math】协方差矩阵

    一.统计学的基本概念 统计学里最基本的概念就是样本的均值.方差.标准差.首先,我们给定一个含有n个样本的集合,下面给出这些概念的公式描述: 均值: 标准差: 方差: 均值描述的是样本集合的中间点,它告 ...

  8. maven copy jar 插件

     插件比较特殊 eclipse下的 首先声明插件 <pluginManagement> <plugin> <groupId>org.apache.maven.plu ...

  9. 基于jQuery游戏网站焦点图轮播特效

    基于jQuery的一款游戏网站焦点图轮播特效.这是一款带进度条定时切换,带缩略图切换的jQuery网站焦点图代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <cente ...

  10. cas单点登录-CAS5.1.3 overlay服务器搭建(二)

    前言    本节主要讲解怎么搭建cas服务端,并且在浏览器中使用https访问cas服务端 1.通过cas代码生成工具(https://casinitializr.herokuapp.com/),生成 ...