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

 更新时间:2017年04月21日 11:47:35   作者:书未来  
这篇文章主要介绍了Java工程中使用Mybatis (工程结合Mybatis,数据可以结合Swing使用),需要的朋友可以参考下

2011年6月iBatis 更名为 MyBatis,从 iBatis 到 MyBatis,不只是名称上的变化,MyBatis 提供了更为强大的功能,同时并没有损失其易用性,相反,在很多地方都借助于 JDK 的泛型和注解特性进行了简化。所以你懂的,开始学习就从MyBatis吧.

例子使用MyBatis+Oracle实现一个用户表的查询,如下:

①数据库 在MySQL中,test数据库下,简历user表,字段:iid,ifullname,ipassword,建表语句略。

②需导入的包 只有两个: mybatis-3.4.4.jar 和 ojdbc14.jar(JDBC包)

③目录结构 采用最简单的结构,com.mybatis包下有且仅有四个文件 configuration.xml user.xml User.java Test.java

④mybatis配置文件configuration.xml,

[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>  
  <typeAliases>  
    <typeAlias alias="User" type="com.mybatis.User"></typeAlias>  
  </typeAliases>  
  <environments default="development">  
    <environment id="development">  
      <transactionManager type="JDBC"></transactionManager>  
      <dataSource type="POOLED">  
        <property name="driver" value="oracle.jdbc.driver.OracleDriver" />  
        <property name="url" value="jdbc:oracle:thin:@192.168.0.87:1526:entegor" />  
        <property name="username" value="ideal" />  
        <property name="password" value="ideal" />  
      </dataSource>  
    </environment>  
  </environments>  
  <mappers>  
    <mapper resource="user.xml"/>  
  </mappers>  
</configuration>

 User表sql文件User.xml,

[xml]

<?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="User">  
  <select id="selectUser" parameterType="int" resultType="User">  
    SELECT * FROM user WHERE id = #{id}  
  </select>  
  <select id="selectUsers" resultType="User">  
    SELECT * FROM user  
  </select>  
</mapper>

表结构文件User.java

package com.mybatis;
public class User {
  private int iid;
  private String ifullname;
  private String iloginname;
  private String ipassword;
  public User(){}  
  public User(int id, String name) {  
    this.iid = id;  
    this.ifullname = name;  
  }  
  public String getIfullname() {
    return ifullname;
  }
  public int getIid() {
    return iid;
  }
  public void setIid(int iid) {
    this.iid = iid;
  }
  public void setIfullname(String ifullname) {
    this.ifullname = ifullname;
  }
  public String getIloginname() {
    return iloginname;
  }
  public void setIloginname(String iloginname) {
    this.iloginname = iloginname;
  }
  public String getIpassword() {
    return ipassword;
  }
  public void setIpassword(String ipassword) {
    this.ipassword = ipassword;
  }
}

⑦测试用例Test.java

package com.controller;
import java.io.IOException;
import java.io.Reader;
import java.util.List;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import com.mybatis.User;
public class Test {
  public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    String resource = "configuration.xml";  
    Reader reader = Resources.getResourceAsReader(resource);  
    SqlSessionFactory ssf = new SqlSessionFactoryBuilder().build(reader);  
    SqlSession session = ssf.openSession();  
    try{  
      User user = session.selectOne("selectUser", 2);  
      System.out.println(user.getIfullname());  
      System.out.println(user);  
      System.out.println("--------------分隔线---------------");  
      List<User> users = session.selectList("selectUsers");  
      for(int i=0; i<users.size(); i++) {  
        System.out.println(users.get(i).getIfullname());  
      }  
    } catch (Exception e) {  
      e.printStackTrace();  
    } finally {  
      session.close();  
    }  
  }
}

相关文章

  • Java使用HttpUtils实现发送HTTP请求

    Java使用HttpUtils实现发送HTTP请求

    这篇文章主要介绍了Java使用HttpUtils实现发送HTTP请求,HTTP请求,在日常开发中,还是比较常见的,今天给大家分享HttpUtils如何使用,需要的朋友可以参考下
    2023-05-05
  • Java适配器模式应用之电源适配器功能详解

    Java适配器模式应用之电源适配器功能详解

    这篇文章主要介绍了Java适配器模式应用之电源适配器功能,较为详细的分析了适配器模式的概念、原理及Java基于适配器模式实现电源适配器功能的相关操作技巧与注意事项,需要的朋友可以参考下
    2018-05-05
  • java计算日期相差天数的4种简单方法举例

    java计算日期相差天数的4种简单方法举例

    最近在工作中遇见一个小需求,要求计算两个日期之间相差几天,下面这篇文章主要给大家介绍了关于java计算日期相差天数的4种简单方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-06-06
  • Java日期转换注解配置date format时间失效

    Java日期转换注解配置date format时间失效

    这篇文章主要为大家介绍了Java日期转换注解配置date format时间失效,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 一文读懂Spring Bean的生命周期

    一文读懂Spring Bean的生命周期

    今天我们来说一说 Spring Bean 的生命周期,小伙伴们应该在面试中经常遇到,这是正常现象,本文让更多的小伙伴们可以轻松的读懂 Spring Bean 的生命周期
    2023-03-03
  • java 图片验证码的实现代码

    java 图片验证码的实现代码

    java 图片验证码的实现代码,需要的朋友可以参考一下
    2013-05-05
  • 基于Java protected的深入理解

    基于Java protected的深入理解

    本篇文章是对Java protected进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • java中lambda(函数式编程)一行解决foreach循环问题

    java中lambda(函数式编程)一行解决foreach循环问题

    这篇文章主要介绍了java中lambda(函数式编程)一行解决foreach循环问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • Java实现JS中的escape和UNescape代码分享

    Java实现JS中的escape和UNescape代码分享

    在PHP和Python中都有类似JS中的escape和UNescape函数的功能,那么Java语言中到底有没有类似的方法呢?本文就来介绍一下Java实现JS中的escape和UNescape转码方法,需要的朋友可以参考下
    2017-09-09
  • java实时监控文件行尾内容的实现

    java实时监控文件行尾内容的实现

    这篇文章主要介绍了java实时监控文件行尾内容的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02

最新评论