mybatis 的第一个 HelloWorld 程序学习

1、准备工作:

a、在 MYSQL 中新建一个 mybatis 数据库,并且创建一个 table,在这个表格中录入一条记录。

注:我使用的是 SQLyog,你们也可以使用命令行直接创建库和表。

2、在 eclipse 中创建一个 java 工程:

- 创建一个名为 Employee 的 bean 类,并且在这个工程的路径下创建一个 lib 文件夹,用于存放需要的 jar 包。 (需要的 jar 包为 mybatis-3.4.1.jar 、mysql-connector-java-5.1.37-bin.jar 和 log4j.jar)

注:jar 包可以去 mybatis 官网下载,我这里提供一个网盘下载(http://pan.baidu.com/s/1c2H3udq)。mysql-connector-java-5.1.37-bin.jar  是为连接 mysql 数据库,而 log4j.jar 则是为了打印日志信息。(需要一个 log4j.xml 配置文件,我把它添加在类路径下,即如图所示的 conf 资源文件夹下)(log4j.xml 配置文件的内容我在 网盘链接中也有提供。)

3、mybatis 的第一个 HelloWorld 程序的相关配置问题:

a、阅读 mybatis-3.4.1.pdf 文档可知,(在 mybatis-3.4.1.zip\mybatis-3.4.1 目录下,上面的网盘中有提供。)需要从 xml 配置文件中创建一个 SqlSessionFactory。我把它名为 mybatis-config.xml,这个配置文件的内容如下图所示。(mybatis-config.xml 文件为全局配置文件,也在类路径下)

注:每一个 MyBatis 应用都是围绕一个 SqlSessionFactory 实例进行的,一个 SqlSessionFactory 实例可以由 SqlSessionFactoryBuilder 对象提供,SqlSessionFactoryBuilder 对象可以从配置文件中创建一个 SqlSessionFactory 实例。

注:可以看到,配置文件中 dataSource 标签是提供配置数据库连接的相关信息的,而 mapper 标签则是提供将我们写好的sql映射文件(EmployeeMapper.xml)注册到全局配置文件(mybatis-config.xml)中。(这个配置的内容为数据源等一些运行环境的信息)

b、在类路径下创建一个名为 Employee-Mapper.xml 的 sql 映射文件(文件中配置每一个sql,以及sql的封装规则等)

注: namespace:名称空间;指定为接口的全类名

id:唯一标识
    resultType:返回值类型
    #{id}:从传递过来的参数中取出id值

(这里简单地了解一下,之后的博文中会详细地说明)

c、创建一个名为 MyBatisTest 的测试类,并添加如图所示的代码:

注:使用 InputStream 输入流将类路径下的 mybatis-config.xml 文件加载进内存中,通过 SqlSessionFactoryBuilder 实例创建一个 SqlSessionFactory 对象,通过 SqlSessionFactory 对象的方法获得一个 SqlSession 对象(获取sqlSession实例,能直接执行已经映射的sql语句)再通过 selectOne 方法获得一个 Employee 实例。

selectOne 方法中有两个参数,分别为 sql 的唯一标识和执行 sql 要用的参数(即 EmployeeMapper.xml 中的 id 标识,最好加上命名空间,避免错误)。

d、测试类中的输出结果:

注:在输出结果中可以看到,测试代码已经将一条数据库中的表的记录封装成一个对象 。

4、也可以使用接口和 sql 映射文件进行动态绑定:


    a、定义一个 名为 EmloyeeMappper 的接口,并且在接口中规范一个方法。再将该接口和 Sql 映射文件进行动态绑定。

b、可以看到测试类中,SqlSession 类中的openSession 实例使用 getMapper 方法获得 EmployeeMapper 对象(动态创建了一个代理对象),后直接可以调用接口的方法。(如下图中的输出接口。)

    附:说明一下一些以上可能不太理解的问题:

a、mybatis 的接口式编程

使用原生的JDBC、Hibernate:Dao ==> DaoImpl

使用 mybatis:Mapper ==> xxMapper.xml

b、SqlSession 代表和数据库的一次回话;用完必须关闭

c、SqlSession 和 connection 一样她都是非线程安全的,每次使用都应该去获取新的对象

d、mapper 接口没有实现类,但是 mybatis 会为这个接口生成一个代理对象(将接口和 xml 进行绑定)

EmployeeMapper empMapper =    sqlSession.getMapper(EmployeeMapper.class);

e、两个重要的配置文件:

mybatis 全局配置文件:包含数据库连接池信息,事务管理器信息等系统运行环境信息

sql 映射文件:保存了每一个 sql 语句的映射信息,将 sql 抽取出来

以上是简单的 Mybatis 的 HelloWorld,先试试水,之后的博文中会详细说明。

时间: 2024-10-22 13:02:55

mybatis 的第一个 HelloWorld 程序学习的相关文章

Android Studio新建一个HelloWorld 程序(App)

Android Studio新建一个HelloWorld程序(App) 新建 或者直接启动程序(注:如果已有程序,此方法会直接打开最近一次关闭从程序) 更改App名 选择App运行平台 选择模板 更改主视图名 等待程序编译 此过程需要较长时间,耐心等待- 直到底部状态栏不再有动作执行. AS默认打开主视图代码 打开设计界面 运行程序 首先手机开启调试模式,并连接电脑 注1:此过程有可能会因为某些原因App不能正常运行 注2:此过程需要较长时间,耐心等待,直到手机上App启动成功 程序运行完成 G

Node.js入门以及第一个helloworld程序

1.概念:简单的说 Node.js 就是运行在服务端的 JavaScript.学之前需要明白Node.js是无法挑战jsp.php或者asp这种老牌网站的地位的,是永远不会出现在证券.金融这种领域的.node.js的出现,就像是思维的极限反转带来的性能极致,它就像是一个玩具一样,如果把传统的jsp必做战斗机的话,那么node.js就是一个无人机! 2.Node.js的三大特性 单线程 事件驱动 非阻塞I/O Node.js的这三个特性,缺一不可,正是这些特性导致他的性能高效.当别人考虑如何进行服

SpringMVC基础入门,创建一个HelloWorld程序

ref:http://www.admin10000.com/document/6436.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <!--configure the setting of springmvcDispatcherServlet and configure the ma

springboot之搭建第一个helloworld程序

1.下载基本框架 在网站:https://start.spring.io/ 全部默认,基本没有改动 选择依赖,当然也可以自己在pom.xml加,我们直接在这里选择. 只选择Spring Web Starter(可以了解下,Lombok,在写实体时很方便) 点击Generate the project -Ctrl + 将会下载生成demo.zip 2.Maven安装依赖 解压demo.zip 在demo目录打开命令行工具(在demo目录下,按住shift键,同时点击鼠标右键,点击“在此处打开Pow

Linux下JNI的简单使用---第一个helloworld程序

一.环境介绍 VMwareWorkstation9.0 + RedHat5.1Enterprise + jdk1.7.0 二.第一个使用JNI的hello程序步骤 1.编写一个使用jni调用的简单Java程序 package org.bt.test public class HelloJni {             private native String getHello(); //申明本地函数             //加载共享库             static {      

(二)手动配置第一个HelloWorld程序

上例的HelloWorld是由Android sutudio 自动生成的,现在我们手动来配置. 1. 重新创建工程 2. 创建空的Activity 生成的MainActivity.java 文件: package com.shyroke.myhelloworld; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompa

账号:Justso111 正常填写注册信息,但是具体的应用过程不太熟络,创建了一个Helloworld程序,暂时未碰到问题。

1.介绍自己:内容包括基本信息[姓名.学号.班级.兴趣爱好],个人编程能力:你(大约)写过多少行代码(什么语言).开发过什么程序(若有链接.截图请给出) 姓名:征晓露 学号:1425052048 班级:信管142 兴趣爱好:听歌.跳舞 个人编程能力:用C++.Javal语言写过多行代码,但是编程能力较弱 没有开发过程序. 2.介绍自己的 码云 注册流程:内容包括码云 账号,自己的注册经过(碰到问题如何解决的): 账号:lunaonlyone 正常填写注册信息,但是未能注意自己的地址要申请,是老师

在Linux最小系统上编译运行第一个helloworld程序

一.安装和使用SSH软件 1.安装SSH 软件 1)SSH 软件压缩包可以在网盘下载,下载后解压,进入解压出来的文件夹,如下图. 2)单击上图中的“SSHSecureShellClient-3.2.9.exe”,开始安装 3)如下图,生成桌面图标. 1.使用SSH 软件传文件 1)进入虚拟机的Ubuntu 系统,使用ifconfig 命令,确定Ubuntu 的IP 地址.如下图所 示,用户的IP 地址,需要自己确认,这里只是以本机的IP 为例. 2)双击快捷方式“SSH Secure File 

bootstrap第一个HelloWorld程序

代码如下 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=