mybatis的单独使用简单示例:

步骤1:

新建xml文件。

示例:

  1. <?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.dao.UserMapper">
  2.  
  3. <select id="getUserOne" parameterType="String" resultType="Integer">
    select code2 from a where code1=#{code1,javaType=String,jdbcType=INTEGER,typeHandler=com.typeHandler.TestTypeHandler}
    limit 1
    </select>
  4.  
  5. </mapper>

此处注意两点:

  1. 一:<mapper namespace="com.dao.UserMapper"> namespace须与相对应的dao类名一致,比如dao类的全路径为:
  1. com.dao.UserMapper,则此处namespace="com.dao.UserMapper".
    二:方法的idparameterTyperesult等参数须与dao类中的某一个方法相一致。
  2.  
  3. 步骤2
    dao类。
    示例:
  1. public interface UserMapper{
  2.  
  3. Integer getUserOne(@Param("code1") String string);
    }
    此处的@Param("code1")为注解方法,定义传入此处的参数的名称为code1,以便后续操作。
  4.  
  5. 步骤3
    配置文件mybatis-config.xml
    示例:
  1. <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE configuration
    PUBLIC "-//ibatis.apache.org//DTD Config 3.0//EN"
    "http://mybatis.org/dtd/mybatis-3-config.dtd">
    <configuration>
  2.  
  3. <settings>
    <setting name="cacheEnabled" value="false"/>
    <!--lazyLoadingEnabled: lazy loading开关,默认为true。
    全局性设置懒加载。如果设为‘false’,则所有相关联的都会被初始化加载-->
    <setting name="lazyLoadingEnabled" value="true"/>
    <!--aggressiveLazyLoading 默认true:当访问任何一个属性都会加载所有的其他lazy load属性,
    即使你根本没有调用哪个lazy load属性,说白了就是aggressiveLazyLoading=true,则lazy load等于没用,
    所以要使用lazy load还是将其设为false -->
    <setting name="aggressiveLazyLoading" value="false"/>
    </settings>
  4.  
  5. <environments default="development">
    <environment id="development">
    <transactionManager type="JDBC"/>
    <dataSource type="POOLED">
    <property name="username" value="root"/>
    <property name="password" value="123456"/>
    <property name="url" value="jdbc:mysql://localhost:33333/local_law_hz"/>
    <property name="driver" value="com.mysql.jdbc.Driver"/>
    </dataSource>
    </environment>
    </environments>
  6.  
  7. <mappers>
    <mapper resource="mybatis/mapper/UserMapper.xml"/>
    </mappers>
  8.  
  9. </configuration>
    此处注意<mappers>的配置。
  10.  
  11. 步骤4:
    测试类:
  1. public class MybatisTest {
  2.  
  3. public static void main(String [] args) throws IOException {
    // 使用类加载器,加载mybatis的配置文件
    // InputStream inputStream=MybatisTest.class.getClassLoader().getResourceAsStream("mybatis-config.xml");
    InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");
  4.  
  5. // 构件sqlSession工厂
    SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
    SqlSession sqlSession=sqlSessionFactory.openSession();
    // System.out.println(sqlSession);
    UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
    Integer result=userMapper.getUserOne("1");
    System.out.println(result);
  6.  
  7. }
    }
    此处注意两点:
    1:加载mybatis的配置文件,构件sqlSession
  1. InputStream inputStream= Resources.getResourceAsStream("mybatis-config.xml");
  1. SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(inputStream);
  1. SqlSession sqlSession=sqlSessionFactory.openSession();
    2.利用xml文件,dao类,mybatis-config.xml配置文件(mappers中加载xml文件)产生mapper类:
  1. UserMapper userMapper=sqlSession.getMapper(UserMapper.class);
  1. Integer result=userMapper.getUserOne("1");
    输出结果:
    4
    以上,未mybatis的简单应用。
  1.  
    补充:xml中如下:
  1. select code2 from a where code1=#{code1,javaType=String,jdbcType=INTEGER,typeHandler=com.typeHandler.TestTypeHandler}
    是学习typeHandler时使用的,可简单看做
  1. select code2 from a where code1=#{code1}。

mybatis 简单使用示例(单独使用):的更多相关文章

  1. 【java开发系列】—— spring简单入门示例

    1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...

  2. Springmvc整合tiles框架简单入门示例(maven)

    Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...

  3. hadoop环境安装及简单Map-Reduce示例

    说明:这篇博客来自我的csdn博客,http://blog.csdn.net/lxxgreat/article/details/7753511 一.参考书:<hadoop权威指南--第二版(中文 ...

  4. EasyHook远注简单监控示例 z

    http://www.csdn 123.com/html/itweb/20130827/83559_83558_83544.htm 免费开源库EasyHook(inline hook),下面是下载地址 ...

  5. MyBatis简单的增删改查以及简单的分页查询实现

    MyBatis简单的增删改查以及简单的分页查询实现 <? xml version="1.0" encoding="UTF-8"? > <!DO ...

  6. Web Service简单入门示例

    Web Service简单入门示例     我们一般实现Web Service的方法有非常多种.当中我主要使用了CXF Apache插件和Axis 2两种. Web Service是应用服务商为了解决 ...

  7. Ext简单demo示例

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  8. GDAL中MEM格式的简单使用示例

    GDAL库中提供了一种内存文件格式--MEM.如何使用MEM文件格式,主要有两种,一种是通过别的文件使用CreateCopy方法来创建一个MEM:另外一种是图像数据都已经存储在内存中了,然后使用内存数 ...

  9. spring+springMVC+mybatis简单整合

    spring+springMVC+mybatis简单整合, springMVC框架是spring的子项目,所以框架的整合方式为,spring+Mybatis或springMVC+mybatis. 三大 ...

随机推荐

  1. 根据html容器大小和显示文字多少调节字体大小

    在做html相关的东西的时候经常会遇到这样的问题,容器大小(长x宽)固定,容器包含内容(特指文字)多少不固定,这个时候就让人很苦恼了,将字体大小设置成多少才合适呢?下面看看我的解决思路: 首先要知道网 ...

  2. <base href="<%=basePath%>

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  3. python反射

    python反射 python的反射是基于字符串的形式去对象(模块)中操作其成员.此操作是动态的,常用于web开发中url参数中对应模块或者函数的反射. 下面开始具体说明: 场景需求: 我的pytho ...

  4. python模块xlrd安装-处理excel文件必须

    我安装了很久,网上查了很多资料,但都不太适合,综合 了一下,再写一写,希望有用... 官网下载xlrd:官网xlrd下载地址, 真的很难下,我用讯雷,有时候断断续续 下面是我的百度网盘地址,分享出来, ...

  5. web前端性能优化

    性能优化对于用户体验无疑是非常重要的,下面介绍一些性能优化的方法. 1.减少HTTP请求 http请求越多,那么消耗的时间越多,如果在加上网络很糟糕,那么问题就更多了.且如果网页中的图片.css文件. ...

  6. IOS 学习笔记之UI

    自定义控件,实现部分 - (id)initWithFrame:(CGRect)frame descriptionText:(NSArray *)inText/*需要输入两个字符串*/ { self = ...

  7. 把ISO文件加载到虚拟光驱

    1. 下载迅雷 2.  介绍一个下载微软产品的网站(I tell you),里面的下载程序都是破解好的罗.http://www.itellyou.cn/ 3.  在"I tell you&q ...

  8. 记录s标签范例

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  9. 《CSS3实战》读书笔记 第2章 层叠样式表(CSS)

    ## 层叠样式表 本章将阐述CSS的基本规则. ### 解构CSS 所谓CSS,由选择器(selector)和声明块(declaration block)组成.再进一步细分,每个声明包括了属性和值. ...

  10. Fork函数初识

    fork函数用于创建子进程,典型的调用一次,返回两次的函数.其中调用进程返回子进程的PID,而子进程则返回0.但是两个进程的执行顺序是不定的. fork函数调用完成以后父进程的虚拟存储空间被拷贝给了子 ...