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

发布时间 - 2026-01-11 00:45:54    点击率:

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  # 使用mybatis  # mybatis入门_动力节点Java学院整理  # mybatis教程之增删改查_动力节点Java学院整理  # mybatis实现增删改查_动力节点Java学院整理  # JavaWeb开发之Spring+SpringMVC+MyBatis+SpringSecurity+  # 详解java基于MyBatis使用示例  # java 中MyBatis注解映射的实例详解  # 最简单  # 配置文件  # 进行了  # 你懂  # 易用性  # 分隔线  # 方都  # 更名为  # http  # EN  # dtd  # typeAliases  # config 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 实现点击下箭头变上箭头来回切换的两种方法【推荐】  js实现获取鼠标当前的位置  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  zabbix利用python脚本发送报警邮件的方法  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  浅述节点的创建及常见功能的实现  Laravel怎么判断请求类型_Laravel Request isMethod用法  百度输入法全感官ai怎么关 百度输入法全感官皮肤关闭  EditPlus中的正则表达式实战(6)  中国移动官方网站首页入口 中国移动官网网页登录  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  如何用AI帮你把自己的生活经历写成一个有趣的故事?  什么是javascript作用域_全局和局部作用域有什么区别?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  linux top下的 minerd 木马清除方法  🚀拖拽式CMS建站能否实现高效与个性化并存?  Android中AutoCompleteTextView自动提示  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  Laravel怎么实现软删除SoftDeletes_Laravel模型回收站功能与数据恢复【步骤】  济南网站建设制作公司,室内设计网站一般都有哪些功能?  高防服务器租用指南:配置选择与快速部署攻略  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  如何利用DOS批处理实现定时关机操作详解  如何挑选高效建站主机与优质域名?  如何在阿里云通过域名搭建网站?  linux写shell需要注意的问题(必看)  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  IOS倒计时设置UIButton标题title的抖动问题  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  如何构建满足综合性能需求的优质建站方案?  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  昵图网官网入口 昵图网素材平台官方入口  php结合redis实现高并发下的抢购、秒杀功能的实例  Laravel中的withCount方法怎么高效统计关联模型数量  百度浏览器如何管理插件 百度浏览器插件管理方法