mybatis入门_动力节点Java学院整理

本文为大家分享了mybatis入门学习资料,供大家参考,具体内容如下

所需要用到的其他工具或技术:
项目管理工具 : Maven
测试运行工具 : Junit
数据库 : Derby

废话不多说,直接代码
Maven Dependencies:

<dependencies>
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.2.7</version>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.9</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derby</artifactId>
      <version>10.10.2.0</version>
    </dependency>
    <dependency>
      <groupId>org.apache.derby</groupId>
      <artifactId>derbyclient</artifactId>
      <version>10.10.2.0</version>
    </dependency>
  </dependencies>

SQL 建表及数据插入:

CREATE TABLE USER_TEST_TB(
ID INT PRIMARY KEY,
USERNAME VARCHAR(20) NOT NULL,
PASSWORD VARCHAR(20) NOT NULL,
NICKNAME VARCHAR(20) NOT NULL
); 

INSERT INTO USER_TEST_TB VALUES(1,'1st','111','Jack');
INSERT INTO USER_TEST_TB VALUES(2,'2nd','222','Rose');
INSERT INTO USER_TEST_TB VALUES(3,'3rd','333','Will');

Mybatis配置文件 src/main/resource源目录下
test-mybatis-configuration.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
  <properties>
    <property name="driver" value="org.apache.derby.jdbc.ClientDriver" />
    <property name="url"
      value="jdbc:derby://localhost:1527/freud;create=true" />
  </properties>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="driver" value="${driver}" />
        <property name="url" value="${url}" />
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <!-- <mapper class="com.freud.practice.UserMapper" /> -->
    <mapper resource="com/freud/practice/UserMapper.xml" />
  </mappers>
</configuration>

UserMapper.xml  Mapper文件(src/main/java/com.freud.practice目录下)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.freud.practice.UserMapper">
  <select id="getUser" resultType="com.freud.practice.User">
    select *
    from USER_TEST_TB
  </select>
</mapper>

User.Java对象类(src/main/java/com.freud.practice目录下)

package com.freud.practice; 

public class User
{ 

  private Integer id; 

  private String username; 

  private String password; 

  private String nickname; 

  public Integer getId()
  {
    return id;
  } 

  public void setId(Integer id)
  {
    this.id = id;
  } 

  public String getUsername()
  {
    return username;
  } 

  public void setUsername(String username)
  {
    this.username = username;
  } 

  public String getPassword()
  {
    return password;
  } 

  public void setPassword(String password)
  {
    this.password = password;
  } 

  public String getNickname()
  {
    return nickname;
  } 

  public void setNickname(String nickname)
  {
    this.nickname = nickname;
  } 

}

UserMapper.java Mapper类(src/main/java/com.freud.practice目录下)

package com.freud.practice; 

import java.util.List;
import org.apache.ibatis.annotations.Select; 

public interface UserMapper
{
  //@Select("SELECT * FROM USER_TEST_TB")
  public List<User> getUser();
}

测试类TestMyBatis.java(src/test/java/com.freud.practice目录下)

package com.freud.practice; 

import java.io.InputStream;
import java.text.MessageFormat;
import java.util.List; 

import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Before;
import org.junit.Test; 

public class TestMyBatis
{ 

  private String source; 

  private InputStream inputStream; 

  private SqlSessionFactory sqlSessionFactory; 

  @Before
  public void setUp()
  {
    source = "test-mybatis-configuration.xml";
  } 

  @Test
  public void testXMLConfingureSessionFactory()
  {
    try
    {
      inputStream = TestMyBatis.class.getClassLoader().getResourceAsStream(source);
      sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
      SqlSession session = sqlSessionFactory.openSession(); 

      List<User> users = (List) session.selectList("com.freud.practice.UserMapper.getUser");
      System.out.println("Query by XML configuration...");
      this.printUsers(users); 

      UserMapper userMapper = session.getMapper(UserMapper.class);
      System.out.println("\r\nQuery by annotation configuration...");
      this.printUsers(userMapper.getUser()); 

    }
    catch (Exception e)
    {
      e.printStackTrace();
    }
  } 

  private void printUsers(final List<User> users)
  {
    int count = 0; 

    for (User user : users)
    {
      System.out.println(MessageFormat.format("==User[{0}]=================", ++count));
      System.out.println("User Id: " + user.getId());
      System.out.println("User UserName: " + user.getUsername());
      System.out.println("User Password: " + user.getPassword());
      System.out.println("User nickname: " + user.getNickname());
    }
  }
}

以上是使用XML作为Mapper配置文件的一个入门,其实Mybatis还支持Annotation的方式,具体操作如下:

1. 打开UserMapper.java中的注释。
2. 打开test-mybatis-configuration.xml中的注释,并注释掉现有的Mapper
3. 删除UserMapper.xml文件

这种是Mybatis的Annotation方式的Mapper配置。个人比较偏向于XML方式,所以后续的教程会更倾向于XML配置的方式来写。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • mybatis教程之增删改查_动力节点Java学院整理

    select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id="getStudent" parameterType="String" resultMap="studentResultMap"> SELECT ST.STUDENT_ID, ST.STUDENT_NAME, ST.STUDENT_SEX, ST.STUDENT_BIRTHDAY, ST.CLASS_ID FR

  • Java工程中使用Mybatis (工程结合Mybatis,数据结合Swing使用))

    2011年6月iBatis 更名为 MyBatis,从 iBatis 到 MyBatis,不只是名称上的变化,MyBatis 提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于 JDK 的泛型和注解特性进行了简化.所以你懂的,开始学习就从MyBatis吧. 例子使用MyBatis+Oracle实现一个用户表的查询,如下: ①数据库 在MySQL中,test数据库下,简历user表,字段:iid,ifullname,ipassword,建表语句略. ②需导入的包 只有两个: m

  • mybatis实现增删改查_动力节点Java学院整理

    所需要用到的其他工具或技术: 项目管理工具 : Maven 测试运行工具 : Junit 数据库 : Derby Maven Dependencies: <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.7</version> </dependen

  • 详解java基于MyBatis使用示例

    MyBatis的前身叫iBatis,本是apache的一个开源项目, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis.MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)

  • JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架

    简单介绍一下,本框架的基本功能点: Spring:整个框架的主体部分,这个自不用说. SpringMVC:MVC部分我还是比较喜欢Spring的. MyBatis:选型的时候选择这个ORM主要也是考虑其灵活性的问题,毕竟我也不知道,今后会遇到怎样的需求,用Hibernate一来是不太会用,二来,我还是比较喜欢直接写SQL来的简单一点. SpringSecurity:这个主要是安全框架,负责用户登录验证及整站权限分配的相关事项(权限分配真的很有用,这个我就不多说了). EhCache:一个非常流行

  • java 中MyBatis注解映射的实例详解

    java  中MyBatis注解映射的实例详解 1.普通映射 @Select("select * from mybatis_Student where id=#{id}") public Student getStudent(int id); @Insert("insert into mybatis_Student (name, age, remark, pic,grade_id,address_id) values (#{name},#{age},#{remark}, #{

  • mybatis入门_动力节点Java学院整理

    本文为大家分享了mybatis入门学习资料,供大家参考,具体内容如下 所需要用到的其他工具或技术: 项目管理工具 : Maven 测试运行工具 : Junit 数据库 : Derby 废话不多说,直接代码 Maven Dependencies: <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <

  • Spring MVC入门_动力节点Java学院整理

    Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的.另外还有一种基于组件的.事件驱动的Web框架在此就不介绍了,如Tapestry.JSF等. Spring Web MVC也是服务到工作者模式的实现,但进行可优化.前端控制器是DispatcherServl

  • HTTP协议入门_动力节点Java学院整理

    HTTP 协议是互联网的基础协议,也是网页开发的必备知识,最新版本 HTTP/2 更是让它成为技术热点. 本文介绍 HTTP 协议的历史演变和设计思路. 一.HTTP/0.9 HTTP 是基于 TCP/IP 协议的应用层协议.它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口. 最早版本是1991年发布的0.9版.该版本极其简单,只有一个命令GET. GET /index.html 上面命令表示,TCP 连接(connection)建立后,客户端向服务器

  • Struts1简介和入门_动力节点Java学院整理

    本文为大家分享了Struts1简介和入门的学习资料,供大家参考,具体内容如下 1. 框架 框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法.也就是说框架是一个半成品的应用程序. 我们所面对的应用程序一般都是分为两部分,一部分是业务相关的组件部分,另一部分是和业务无关的组件部分.而我们知道和业务相关的组件部分的重用性是非常低的,这也是显而易见的事情:而和业务无关的组件部分,如验证.异常.程序流程控制等等服务组件的复用性是非常高的.所以当人们在不同的应

  • mongodb基础入门_动力节点Java学院整理

    关于mongodb的好处,优点之类的这里就不说了,唯一要讲的一点就是mongodb中有三元素:数据库,集合,文档,其中"集合" 就是对应关系数据库中的"表","文档"对应"行". 一: 下载 上MongoDB官网,我们发现有32bit和64bit,这个就要看你系统了,不过这里有两点注意: ①:根据业界规则,偶数为"稳定版"(如:1.6.X,1.8.X),奇数为"开发版"(如:1.7.X,

  • MyBatis创建存储过程的实例代码_动力节点Java学院整理

    所需要用到的其他工具或技术: 项目管理工具 : Maven 测试运行工具 : Junit 数据库 : Derby 本节需要用到的有2部分,第一部分是如何在Derby中创建存储过程,第二部分是如何在Mybatis中调用存储过程 一. 在Derby中创建存储过程 在Eclipse中创建一个新的普通Java项目命名为Test_Store_Procedure 在com.bjpowernode.practice包下创建一个Class命名为StoreProcedureOperationClass.class

  • mybatis实现表与对象的关联关系_动力节点Java学院整理

    所需要用到的其他工具或技术: 项目管理工具 : Maven 测试运行工具 : Junit 数据库 : Derby Maven Dependencies: <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.2.7</version> </dependen

  • Java异常继承结构解析_动力节点Java学院整理

    Java异常类层次结构图: 异常的英文单词是exception,字面翻译就是"意外.例外"的意思,也就是非正常情况.事实上,异常本质上是程序上的错误,包括程序逻辑错误和系统错误.比如使用空的引用.数组下标越界.内存溢出错误等,这些都是意外的情况,背离我们程序本身的意图.错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误,在编译期间出现的错误有编译器帮助我们一起修正,然而运行期间的错误便不是编译器力所能及了,并且运行期间的错误往往是难以预料的.假若程序在运行期间出现了错误

  • Nginx简介_动力节点Java学院整理

    1.什么是Nginx Nginx来自俄罗斯的Igor Sysoev在为Rambler Media(http://www.rambler.ru/)工作期间,使用C语言开发了Nginx.Nginx作为Web服务器,一直为俄罗斯著名的门户网站Rambler Media提供着出色.稳定的服务. Igor Sysoev将Nginx的代码开源,并且赋予其最自由的2-clause BSD-like license许可证.由于Nginx使用基于事件驱动的架构能够并发处理百万级别的TCP连接,高度模块化的设计和自

随机推荐