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();
    }
  }
}
(0)

相关推荐

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

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

  • 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注解映射的实例详解

    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> <

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

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

  • 详解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对象)

  • 将Eclipse工程转Android Studio工程的步骤与注意事项

    Gradle的基础 想要将Eclipse转为Android Studio项目,那么Gradle语法是必修课.此处引进一篇文章,基础就不写了,Gradle基础 引言 目前,用 Android Studio 来开发 Android 项目已是大势所趋,就连 Google 也已经宣布了不再支持 Eclipse .所以一些老的 Eclipse 工程转 Android Studio 工程也是有必要的.工程转换有两种:一种是兼容模式,即 Eclipse 和 Android Studio 都可以用的工程结构:一

  • Java环境中MyBatis与Spring或Spring MVC框架的集成方法

    与Spring3集成 Spring作为基础框架,可以集成后端框架,如Hibernate,MyBatis等. 前面是介绍单独使用MyBatis的,大致逻辑是: sqlSessionFactory <- configuration file (包括数据库连接配置) IXxxMapper <- sqlSession <- sqlSessionFactory                      <- mapper interface <- mapper xml 得到IxxMap

  • 详解slf4j+logback在java工程中的配置

    本文主要介绍一下slf4j+logback在java工程中的配置,面向的读者主要是已经对slf4j+logback有一定了解的同学,但是在文章开头也做了一些知识铺垫,下面咱们进入正题. 在介绍slf4j+logback配置之前,首先对日志组件logback进行介绍. (一)日志组件logback的介绍及配置使用方法 一.logback的介绍     Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classi

  • Intellj Idea中的maven工程Java文件颜色不对,未被识别的解决

    问题: 打开一个新的maven工程,发现.Java文件是这样的: 其实是编辑器未识别成maven工程. 解决: 1.点击侧边栏Maven 2.选择导入工程的pox.xml文件 3.恢复正常 补充知识:idea项目在maven projects中显示灰色的解决办法 在使用idea的过程中,遇到其中一个maven模块变成灰色,如下所示: 造成这个的原因可能是忽略了maven模块,可以尝试如下解决方法:在idea中maven的setting中找到ignored files,看右边的面板中是否将变灰的m

  • Android编程实现读取工程中的txt文件功能

    本文实例讲述了Android编程实现读取工程中的txt文件功能.分享给大家供大家参考,具体如下: 1. 众所周知,Android的res文件夹是用来存储资源的,可以在res文件夹下建立一个raw文件夹,放置在raw文件夹下的内容会被原样打包,而不会被编译成二进制文件,并且可以通过R文件进行很方便地访问. 比如我们可以将更新信息.版权信息等放到txt文件中,然后放到raw文件中,然后很方便地进行访问. 在raw中放入一个a.txt文件,然后就可以在Activity中使用getResources()

  • JavaWeb工程中集成YMP框架快速上手(二)

    本文将介绍如何在Java Web工程中集成YMP框架,操作过程基于IntelliJ IDEA做为开发环境,工程结构采用Maven构建: IntelliJ IDEA下载地址: https://www.jetbrains.com/idea/download/ Maven下载地址: http://maven.apache.org/ 创建项目 1. 打开IDEA开发环境并点击Create New Project按钮开始创建新项目向导,如下图-1所示: 2. 在New Project窗口中选中左侧Mave

  • Android APP瘦身(清除工程中没用到的资源)详解

    清除Android工程中没用到的资源 项目需求一改再改,UI一调再调,结果就是项目中一堆已经用不到但却没有清理的垃圾资源,不说工程大小问题,对新进入项目的人或看其他模块的代码的人来说,这些没清理的资源可能也可能会带来困扰,所以最好还是清理掉这些垃圾,对于一个稍微大一点的工程来说,手工清理明显是不现实的,这就需要一个方法做这些事情. 清理资源文件 要清理没用的资源,首要的工作当然是找到他们,我们知道Anroid SDK中有一个工具叫lint,可以帮助我们查看工程中存在的问题,其中有一项功能就是查找

  • Kotlin在Android工程中的应用详解

    Kotlin在Android工程中的应用 原文链接 简介 Kotlin是由JetBrains设计的开放源码的编程语言,它正在Java开发者中变得越来越流行.Kotlin通常被吹捧为Java的继承者,相比较Java而言,Kotlin提供更为丰富的开发经验,因为它更现代,更具表现力和更简介. 如果你在寻求Android开发的可替代编程语言,那么应该试一下Kotlin.使用Kotlin,你可以很容易的在Android工程中替代Java或者与Java混合使用. 本文接下来将介绍在Android Stud

  • Springboot工程中使用filter过程解析

    一.什么是filter 过滤器实际上就是用来对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理 通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理 . filter可以在请求到达servlet前或者请求完成响应后进行后续的处理. 二.在springboot工程中使用filter 创建一个filter,并使用注解配置该filter的名称和拦截路径等属性 @WebFilter(filterName = "AFilter",urlPat

  • 三分钟教你如何在IDEA中快速创建工程的方法

    1. 创建Java工程 1. 打开的初始界面 Create New Project:创建一个新的工程 Import Project:导入一个现有的工程 Open:打开一个已有工程.比如:可以打开 Eclipse 项目. Check out from VersionControl:可以通过服务器上的项目地址 check out Github上面项目或其他 Git 托管服务器上的项目 2. 新建项目 如果要创建 Web 工程,则需要勾选上面的 Web Application.如果不需要创建 Web

随机推荐