MyBits前身是iBitis,相对于Hibernate而言,它是半自动化ORM框架。本着分享和学习的目的,笔者将陆续把学习笔记与代码贴出,希望对想学习mybitis的同窗们有所帮助。
       鉴于我的测试数据库是mysql,同仁们现在把mysql装好,然后准备好mysql驱动以及从官网上下载mybitis(http://code.google.com/p/mybatis/)。我下载的是最新的mybatis-3.2.2.zip。

创建数据库test

然后创建表t_user

  1. DROP TABLE IF EXISTS `t_user`;
  2. CREATE TABLE `t_user` (
  3. `id` int(11) NOT NULL AUTO_INCREMENT,
  4. `name` varchar(20) DEFAULT NULL,
  5. `pass` varchar(20) DEFAULT NULL,
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB AUTO_INCREMENT=24 DEFAULT CHARSET=gbk;
  8. INSERT INTO `t_user` VALUES ('1', 'ssssssssssssssss', 'ddsssssssdd');

然后创建与表对应的Java bean对象

  1. <span style="color:#000000;">package com.jefry;
  2. public class User {
  3. private int id;
  4. private String name;
  5. private String pass;
  6. public String getPass() {
  7. return pass;
  8. }
  9. public void setPass(String pass) {
  10. this.pass = pass;
  11. }
  12. public int getId() {
  13. return id;
  14. }
  15. public void setId(int id) {
  16. this.id = id;
  17. }
  18. public String getName() {
  19. return name;
  20. }
  21. public void setName(String name) {
  22. this.name = name;
  23. }
  24. }</span>

接下来,在classpath目录下面创建与配置mybatis-config.xml文件

内容如下:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE configuration
  3. PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-config.dtd">
  5. <configuration>
  6. <environments default="development">
  7. <environment id="development">
  8. <transactionManager type="JDBC"/>
  9. <dataSource type="POOLED">
  10. <property name="driver" value="com.mysql.jdbc.Driver"/>
  11. <property name="url" value="jdbc:mysql://127.0.0.1:3306/test"/>
  12. <property name="username" value="root"/>
  13. <property name="password" value="root"/>
  14. </dataSource>
  15. </environment>
  16. </environments>
  17. <mappers>
  18. <!--这个文件下面将创建-->
  19. <mapper resource="com/jefry/UserMapper.xml"/>
  20. </mappers>
  21. </configuration>

通过mybatis-config.xml中<mapper resource="com/jefry/UserMapper.xml"/>配置项,我们在包com.jefry下面创建文件UserMapper.xml
         内容如下:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="User">
  6. <!--resultType 表示com.jefry.User这样一个实体对象 -->
  7. <select id="selectUser" parameterType="int" resultType="com.jefry.User">
  8. select * from t_user where id = #{id}
  9. </select>
  10. </mapper>

编写测试代码

  1. package com.jefry;
  2. import java.io.IOException;
  3. import java.io.InputStream;
  4. import org.apache.ibatis.io.Resources;
  5. import org.apache.ibatis.session.SqlSession;
  6. import org.apache.ibatis.session.SqlSessionFactory;
  7. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
  8. public class Test {
  9. static String resource = "mybatis-config.xml";
  10. public static void main(String[] args) throws IOException {
  11. // TODO Auto-generated method stub
  12. InputStream inputStream = Resources.getResourceAsStream(resource);
  13. SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
  14. SqlSession session = sqlSessionFactory.openSession();
  15. try {
  16. //User.selectUser中User对应UserMapper.xml文件中标签<mapper namespace="User"> namespace的值
  17. //selectUser 对应UserMapper.xml文件中标签<select id="selectUser" parameterType="int" resultType="com.jefry.User">中id值
  18. User user = session.selectOne("User.selectUser", 1);
  19. System.out.println("user.getName()=" +  user.getName());
  20. } finally {
  21. session.close();
  22. }
  23. }
  24. }

通过运行就可以结果:user.getName()=ssssssssssssssss

MyBitis(iBitis)系列随笔之一:MyBitis入门实例的更多相关文章

  1. MyBitis(iBitis)系列随笔之五:多表(一对多关联查询)

    MyBitis(iBitis)系列随笔之一:MyBitis入门实例 MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM) MyBitis(iBitis ...

  2. MyBitis(iBitis)系列随笔之三:简单实现CRUD

    Mybitis(iBitis)实现对对象增删改查操作要借助<select/>查询,<insert/>增加,<update/>更新,<delete/>删除 ...

  3. MyBitis(iBitis)系列随笔之六:mybitis与spring集成

    目前Spring官方还没有出整合Mybatis的特性,但是mybitis比较给力,开发了一个mybatis-spring插件,达到与Spring的完美整合目的. 在与Spring集成前,一方面我们需要 ...

  4. MyBitis(iBitis)系列随笔之二:类型别名(typeAliases)与表-对象映射(ORM)

    类型别名(typeAliases):     作用:通过一个简单的别名来表示一个冗长的类型,这样可以降低复杂度.    类型别名标签typeAliases中可以包含多个typeAlias,如下 < ...

  5. MyBitis(iBitis)系列随笔之四:多表(多对一查询操作)

      前面几篇博客介绍的都是单表映射的一些操作,然而在我们的实际项目中往往是用到多表映射.至于多表映射的关键要用到mybitis的association来加以实现.          这篇介绍的是多表中 ...

  6. SpringMVC 框架系列之初识与入门实例

    微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1.SpringMVC 概述 (1). MVC:Model-View-Control Contr ...

  7. SpringMVC系列之(一) 入门实例

    Spring MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了.Spring MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也 ...

  8. JAVA通信系列二:mina入门总结

    一.学习资料 Mina入门实例(一) http://www.cnblogs.com/juepei/p/3939119.html Mina入门教程(二)----Spring4 集成Mina http:/ ...

  9. GEF入门实例_总结_04_Eclipse插件启动流程分析

    一.前言 本文承接上一节:GEF入门实例_总结_03_显示菜单和工具栏 注意到app目录下的6个类文件. 这6个文件对RCP应用程序而言非常重要,可能我们现在对这几个文件的理解还是云里雾里,这一节我们 ...

随机推荐

  1. EL函数库

    一.EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 这些EL函数在JSTL开发包中进行描述,因此在JSP页 ...

  2. servlet request

    request.getRequestURI(); request.getRequestURL(); getQueryString();//返回查询信息 getRemoteAddr();//得到来访者地 ...

  3. Hibernate4.2.21.Final创建入门的HelloHibernet工程

    1.在hibernate官网下载hibernate-release-4.2.21.Final.zip并解压 2.新建一个java project工程(HelloHibernet)(myeclipes) ...

  4. Introduction to SIFT (Scale-Invariant Feature Transform)

    SIFT OpenCV 官方文档: https://docs.opencv.org/master/da/df5/tutorial_py_sift_intro.html https://opencv-p ...

  5. Java面试题无答案

    写在前面:这篇文章里面总结了很多Java相关的知识,基本上应该算是每个Java程序员必须会的一些知识,所以,也就是很多面试官喜欢拿来考的一些东西.总结他们第一个目的是自己能够经常拿出来看一看,第二个也 ...

  6. Ubuntu安装deb软件包错误(依赖关系问题)解决

    执行命令 sudo dpkg -i XXX.deb 返回依赖关系错误提示 执行 sudo apt-get -f install 这条命令将自动安装需要的依赖包. 再次执行命令 sudo dpkg -i ...

  7. Linux更改Apache网站目录出错:Document root must be a directory解决

    Linux更改Apache网站目录出错:Document root must be a directory解决   修改   DocumentRoot     <Directory " ...

  8. C++知识点 笔试常见

    C++知识点   一.#include “filename.h”和#include <filename.h>的区别 #include “filename.h”是指编译器将从当前工作目录上开 ...

  9. atitit.解决SyntaxError: missing ] after element list"不个object 挡成个str eval ....

    atitit.解决SyntaxError: missing ] after element list"不个object  挡成个str eval .... 1. 原因::: 不个object ...

  10. 479. Second Max of Array【easy】

    Find the second max number in a given array. Notice You can assume the array contains at least two n ...