`
ymq267
  • 浏览: 130096 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

MyBatis快速入门

    博客分类:
  • Java
 
阅读更多
只为成功找方法,不为失败找借口!
MyBatis学习总结(一)——MyBatis快速入门
一、Mybatis介绍

  MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
二、mybatis快速入门
2.1、准备开发环境

1、创建测试项目,普通java项目或者是JavaWeb项目均可,如下图所示:

  

2、添加相应的jar包

  【mybatis】

         mybatis-3.1.1.jar

  【MYSQL驱动包】
    mysql-connector-java-5.1.7-bin.jar

   

3、创建数据库和表,针对MySQL数据库

  SQL脚本如下:
1 create database mybatis;
2 use mybatis;
3 CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);
4 INSERT INTO users(NAME, age) VALUES('孤傲苍狼', 27);
5 INSERT INTO users(NAME, age) VALUES('白虎神皇', 27);


  将SQL脚本在MySQL数据库中执行,完成创建数据库和表的操作,如下:

  
  
  到此,前期的开发环境准备工作全部完成。
2.2、使用MyBatis查询表中的数据

  1、添加Mybatis的配置文件conf.xml

  在src目录下创建一个conf.xml文件,如下图所示:

  

  conf.xml文件中的内容如下:
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4     <environments default="development">
 5         <environment id="development">
 6             <transactionManager type="JDBC" />
 7             <!-- 配置数据库连接信息 -->
 8             <dataSource type="POOLED">
 9                 <property name="driver" value="com.mysql.jdbc.Driver" />
10                 <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
11                 <property name="username" value="root" />
12                 <property name="password" value="XDP" />
13             </dataSource>
14         </environment>
15     </environments>
16     
17 </configuration>


  2、定义表所对应的实体类,如下图所示:

     

  User类的代码如下:
 1 package me.gacl.domain;
 2 
 3 /**
 4  * @author gacl
 5  * users表所对应的实体类
 6  */
 7 public class User {
 8 
 9     //实体类的属性和表的字段名称一一对应
10     private int id;
11     private String name;
12     private int age;
13 
14     public int getId() {
15         return id;
16     }
17 
18     public void setId(int id) {
19         this.id = id;
20     }
21 
22     public String getName() {
23         return name;
24     }
25 
26     public void setName(String name) {
27         this.name = name;
28     }
29 
30     public int getAge() {
31         return age;
32     }
33 
34     public void setAge(int age) {
35         this.age = age;
36     }
37 
38     @Override
39     public String toString() {
40         return "User [id=" + id + ", name=" + name + ", age=" + age + "]";
41     }
42 }


  3、定义操作users表的sql映射文件userMapper.xml

  创建一个me.gacl.mapping包,专门用于存放sql映射文件,在包中创建一个userMapper.xml文件,如下图所示:

  

  userMapper.xml文件的内容如下:
 1 <?xml version="1.0" encoding="UTF-8" ?>
 2 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 3 <!-- 为这个mapper指定一个唯一的namespace,namespace的值习惯上设置成包名+sql映射文件名,这样就能够保证namespace的值是唯一的
 4 例如namespace="me.gacl.mapping.userMapper"就是me.gacl.mapping(包名)+userMapper(userMapper.xml文件去除后缀)
 5  -->
 6 <mapper namespace="me.gacl.mapping.userMapper">
 7     <!-- 在select标签中编写查询的SQL语句, 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
 8     使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
 9     resultType="me.gacl.domain.User"就表示将查询结果封装成一个User类的对象返回
10     User类就是users表所对应的实体类
11     -->
12     <!-- 
13         根据id查询得到一个user对象
14      -->
15     <select id="getUser" parameterType="int" 
16         resultType="me.gacl.domain.User">
17         select * from users where id=#{id}
18     </select>
19 </mapper>


  4、在conf.xml文件中注册userMapper.xml文件
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
 3 <configuration>
 4     <environments default="development">
 5         <environment id="development">
 6             <transactionManager type="JDBC" />
 7             <!-- 配置数据库连接信息 -->
 8             <dataSource type="POOLED">
 9                 <property name="driver" value="com.mysql.jdbc.Driver" />
10                 <property name="url" value="jdbc:mysql://localhost:3306/mybatis" />
11                 <property name="username" value="root" />
12                 <property name="password" value="XDP" />
13             </dataSource>
14         </environment>
15     </environments>
16     
17     <mappers>
18         <!-- 注册userMapper.xml文件, 
19         userMapper.xml位于me.gacl.mapping这个包下,所以resource写成me/gacl/mapping/userMapper.xml-->
20         <mapper resource="me/gacl/mapping/userMapper.xml"/>
21     </mappers>
22     
23 </configuration>


  5、编写测试代码:执行定义的select语句

  创建一个Test1类,编写如下的测试代码:
package me.gacl.test;

import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import me.gacl.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

public class Test1 {

    public static void main(String[] args) throws IOException {
        //mybatis的配置文件
        String resource = "conf.xml";
        //使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
        InputStream is = Test1.class.getClassLoader().getResourceAsStream(resource);
        //构建sqlSession的工厂
        SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
        //使用MyBatis提供的Resources类加载mybatis的配置文件(它也加载关联的映射文件)
        //Reader reader = Resources.getResourceAsReader(resource); 
        //构建sqlSession的工厂
        //SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);
        //创建能执行映射文件中sql的sqlSession
        SqlSession session = sessionFactory.openSession();
        /**
         * 映射sql的标识字符串,
         * me.gacl.mapping.userMapper是userMapper.xml文件中mapper标签的namespace属性的值,
         * getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
         */
        String statement = "me.gacl.mapping.userMapper.getUser";//映射sql的标识字符串
        //执行查询返回一个唯一user对象的sql
        User user = session.selectOne(statement, 1);
        System.out.println(user);
    }
}


  执行结果如下:

    

  可以看到,数据库中的记录已经成功查询出来了。
分享到:
评论

相关推荐

    mybatis快速入门

    关于学习mybatis的视频和书都是很多的,如果要快速入门肯定要学一些点,这个文档我觉得还是能在一天内帮助快速入门的

    MyBatis 快速入门程序

    MyBatis 快速入门程序

    mybatis快速入门jar包

    在快速入门MyBatis的过程中,了解其核心概念至关重要。首先,`SqlSessionFactoryBuilder`是创建`SqlSessionFactory`的构建者,它是整个MyBatis的核心。通过读取配置文件(XML或Java注解形式),它能够构建出`...

    Spring Boot + MyBatis 快速入门

    Spring Boot是目前最流行的微服务框架,Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个Spring引用。你也可以打包你的应用为jar并通过使用java -jar来运行你的Spring Web应用...

    Mybatis快速入门.docx

    要快速入门MyBatis,首先需要了解以下步骤: 1. **添加依赖**:在项目中引入MyBatis的核心库mybatis-3.1.1.jar以及MySQL驱动包mysql-connector-java-5.1.7-bin.jar。 2. **创建数据库与表**:创建名为mybatis的...

    mybatis快速入门实例代码

    首先把db文件夹下的数据库文件导入到MySQL数据库中,修改mybatis-cfg.xml文件中的username和password,运行即可(如果是其他数据库,则需要修改driver和url,还需要添加对应的数据库jar包)

    spring mvc+mybatis快速入门

    在提供的压缩包文件 "spring mvc+mybatisѧϰ" 和 "spring mvc+mybatis学习" 中,可能包含了相关的教程、示例代码和练习,帮助初学者快速上手这两个框架。通过学习这些资源,你可以更好地理解它们的工作原理,以及...

    MyBatis学习总结——MyBatis快速入门.docx

    MyBatis是一个强大的Java持久层框架,它主要处理SQL查询、存储过程以及复杂的对象映射。这个框架的主要优点是它可以避免大量的JDBC代码手动编写,同时也简化了结果集的处理。下面我们将深入探讨MyBatis的基本概念和...

    铂西Mybatis快速入门案例(IDEA-maven版)

    本教程以IntelliJ IDEA和Maven为开发环境,指导初学者快速入门Mybatis。 **一、Mybatis简介** Mybatis是由Google Code维护,现由GitHub托管的开源项目,它解决了传统Java DAO编程的繁琐工作,通过XML或注解的方式将...

    MyBatis入门到精通

    这篇“MyBatis入门到精通”的学习资料是针对初学者设计的,旨在帮助新手快速掌握MyBatis的基本用法和高级特性。 1. **MyBatis简介** MyBatis是由Clinton Begin创建的开源项目,它是一个基于Java的持久层框架,消除...

    Mybatis入门资源

    "Mybatis快速入门(二).docx"可能继续介绍Mybatis的基本操作,如增删改查(CRUD)以及动态SQL。动态SQL是Mybatis的一大特色,它允许在XML映射文件中使用条件语句,根据不同的参数动态生成SQL,极大地提高了代码的...

    Mybatis快速入门

    一种非常方便程序员使用的将数据库开发技术

    Mybatis持久层框架快速入门(环境搭建、xml配置文件、注解).zip

    本资源包含mybatis快速入门案例(含sql) mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身, 而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂...

    MyBatis经典入门实例

    这个经典入门实例旨在为初学者提供一个快速理解MyBatis基本概念和操作方式的平台。通过学习这个实例,你可以掌握如何在实际项目中使用MyBatis进行数据操作。 首先,我们需要了解MyBatis的核心概念。MyBatis的核心是...

    MyBatis简单入门实例

    总的来说,"MyBatis简单入门实例"是一个全面的教程,覆盖了MyBatis的基础操作,让读者能够快速上手并开始自己的MyBatis项目。通过实际操作和学习提供的"LearnIBatis"资源,读者将能够更好地理解和应用MyBatis框架。

    MyBatis-Plus入门+MyBatis-Plus文档手册 中文pdf高清版.rar

    mybatis在持久层框架中还是比较火的,一般项目都是基于ssm。虽然mybatis可以直接在xml中...《MyBatis-Plus入门文档》主要介绍了MyBatis-Plus入门使用,以及关于mybatis-plus的更多介绍及特性,感兴趣的可以下载学习一下

    源码:【Spring+MyBatis+MySQL实战入门】一、MyBatis操作入门

    《Spring+MyBatis+MySQL实战入门》系列教程旨在帮助初学者快速掌握这三大核心技术在实际项目中的应用。本文将重点讲解MyBatis操作入门的相关知识,通过源码解析,帮助你深入理解MyBatis的工作原理及使用方法。 1. ...

    spring、springMVC和mybatis整合入门项目

    SSM(Spring、SpringMVC和MyBatis)...这个项目的设计和实现都是为了帮助初学者快速上手,通过实践来掌握SSM整合的技能。在实际开发中,SSM整合的应用广泛,理解并熟练掌握这一技术对于提升Java Web开发能力至关重要。

Global site tag (gtag.js) - Google Analytics