本文转载:

本人文笔不行,根据上面博客内容引导,自己整理了一些东西

首先给大家推荐几个网页:

MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。

一、理解什么是MyBatis?

MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。 MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及对结果集的检索。MyBatis 可以使用简单的XML 或注解用于配置和原始映射,将接口和 Java 的 POJO( Plain Old Java Objects,普通的Java 对象)映射成数据库中的记录.

1)MyBATIS 目前提供了三种语言实现的版本,包括:Java、.NET以及Ruby。(我主要学习java,就讲java的使用)

2)它提供的持久层框架包括SQL Maps和Data Access Objects(DAO)。

3)mybatis与hibernate的对比?

mybatis提供一种“半自动化”的ORM实现。

这里的“半自动化”,是相对Hibernate等提供了全面的数据库封装机制的“全自动化”ORM实现而言,“全自动”ORM实现了POJO和数据库表之间的映射,以及 SQL 的自动生成和执行。

而mybatis的着力点,则在于POJO与SQL之间的映射关系。

二、简单例子(快速入门)

1)首先建立项目java web

2)配置mybatis所需的jar包,pom.xml

mysql

mysql-connector-java

5.1.35

org.mybatis

mybatis

3.2.8

org.slf4j

slf4j-api

1.7.7

ch.qos.logback

logback-core

1.1.3

ch.qos.logback

logback-access

1.1.3

ch.qos.logback

logback-classic

1.1.3

3)创建数据库数据(mybatis),创建表(t_user)

CREATE TABLE `t_user` (

`id` int(11) NOT NULL auto_increment,

`username` varchar(20) default NULL,

`password` varchar(20) default NULL,

`account` double(10,2) default NULL,

PRIMARY KEY  (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8

4)mysql驱动配置文件mysql.properties

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://127.0.0.1:3306/mybatis

jdbc.username=admin

jdbc.password=123456

5)添加mybatis配置文件mybatis.cfg.xml

6)创建对应的实体对象

7)创建方法接口UserMapper.java和定义操作t_user表的sql映射文件UserMapper.xml

提供简单的增删改查数据信息。

packagecom.wenyin.mybatis.mapper;importjava.util.List;importcom.wenyin.mybatis.beans.UserBean;public interfaceUserMapper {/*** 新增用戶

*@paramuser

*@return*@throwsException*/

public int insertUser(UserBean user) throwsException;/*** 修改用戶

*@paramuser

*@paramid

*@return*@throwsException*/

public int updateUser (UserBean user,int id) throwsException;/*** 刪除用戶

*@paramid

*@return*@throwsException*/

public int deleteUser(int id) throwsException;/*** 根据id查询用户信息

*@paramid

*@return*@throwsException*/

public UserBean selectUserById(int id) throwsException;/*** 查询所有的用户信息

*@return*@throwsException*/

public List selectAllUser() throwsException;

}

UserMapper.xml

insert into t_user (username,password,account) values (#{username},#{password},#{account})

update t_user set username=#{username},password=#{password},account=#{account} where id=#{id}

delete from t_user where id=#{id}

select * from t_user where id=#{id}

select * from t_user

这时需要为mybatis.cfg.xml里注册UserMapper.xml文件。

参照第5)步骤

8)需要建立一个工具类文件

packagecom.wenyin.mybatis.tools;importjava.io.Reader;importorg.apache.ibatis.io.Resources;importorg.apache.ibatis.session.SqlSession;importorg.apache.ibatis.session.SqlSessionFactory;importorg.apache.ibatis.session.SqlSessionFactoryBuilder;public classDBTools {public staticSqlSessionFactory sessionFactory;static{try{//使用MyBatis提供的Resources类加载mybatis的配置文件

Reader reader = Resources.getResourceAsReader("mybatis.cfg.xml");//构建sqlSession的工厂

sessionFactory = newSqlSessionFactoryBuilder().build(reader);

}catch(Exception e) {

e.printStackTrace();

}

}//创建能执行映射文件中sql的sqlSession

public staticSqlSession getSession(){returnsessionFactory.openSession();

}

}

9)写个测试UserService.java

packagecom.wenyin.mybatis.service;importjava.util.List;importorg.apache.ibatis.session.SqlSession;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importcom.wenyin.mybatis.beans.UserBean;importcom.wenyin.mybatis.mapper.UserMapper;importcom.wenyin.mybatis.tools.DBTools;public classUserService {private static Logger logger = LoggerFactory.getLogger(UserService.class);public static voidmain(String[] args) {

insertUser();//deleteUser(1);//selectUserById(2);//selectAllUser();

}/*** 新增用户*/

private static booleaninsertUser(){

SqlSession session=DBTools.getSession();

UserMapper mapper= session.getMapper(UserMapper.class);

UserBean user= new UserBean("test01", "123456", 7000.0);try{int index=mapper.insertUser(user);boolean bool=index>0?true:false;

logger.error("新增用户user对象:{},操作状态:{}",newObject[]{user,bool});

session.commit();returnbool;

}catch(Exception e) {

e.printStackTrace();

session.rollback();return false;

}finally{

session.close();

}

}/*** 删除用户

*@paramid 用户ID*/

private static boolean deleteUser(intid){

SqlSession session=DBTools.getSession();

UserMapper mapper=session.getMapper(UserMapper.class);try{int index=mapper.deleteUser(id);boolean bool=index>0?true:false;

logger.debug("根据用户id:{},操作状态{}",newObject[]{id,bool});

session.commit();returnbool;

}catch(Exception e) {

e.printStackTrace();

session.rollback();return false;

}finally{

session.close();

}

}/*** 根据id查询用户

*@paramid*/

private static void selectUserById(intid){

SqlSession session=DBTools.getSession();

UserMapper mapper=session.getMapper(UserMapper.class);try{

UserBean user=mapper.selectUserById(id);

logger.debug("根据用户Id:{},查询用户信息:{}",newObject[]{id,user});

session.commit();

}catch(Exception e) {

e.printStackTrace();

session.rollback();

}finally{

session.close();

}

}/*** 查询所有的用户*/

private static voidselectAllUser(){

SqlSession session=DBTools.getSession();

UserMapper mapper=session.getMapper(UserMapper.class);try{

List user=mapper.selectAllUser();

logger.debug("获取所用的用户:{}",user);

session.commit();

}catch(Exception e) {

e.printStackTrace();

session.rollback();

}finally{

session.close();

}

}

}

新增运行结果:

如果返回Map

select username,id from

t_user where

id=#{id}

返回List>

SELECT * FROM t_user

java mybatis 教程_(整理)MyBatis入门教程(一)相关推荐

  1. java公路车组装教程_自行车DIY入门教程,图文展示自行车组装全过程。(原创图文,转载请注明出处)...

    本帖最后由 海南龙仔 于 2015-5-11 17:55 编辑 首先,我把自行车分为三个系统. 分别为车体系统.轮组系统.传动系统. 简单来说就是一个架子.二个轮子.加上传动与制动的部件. _____ ...

  2. Mybatis generator 1.4.x 入门教程--转载

    Mybatis generator 1.4.x 入门教程 一.前言 ​ 最近因为公司开了新的项目,所以在构建骨架的时候发现mybatis最新的版本已经更新到了1.4.0了,尝试了一下,比起之前的myb ...

  3. FDTD Solutions自学整理笔记入门教程(3):监视器Monitors

    FDTD自学整理笔记入门教程之监视器(转载+改动) 3.监视器Monitors:(这个编辑器真的不方便,文字+图片的操作真是太麻烦了,为了方便就简单截图上传)

  4. 51自学网AutoCAD2014室内设计 AutoCAD2009施工图教程 CAD布局及规范作图教程 室内手绘入门教程...

    我要自学网平面设计 计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程  我要自学网Excel函数应用教程 Excel VBA基础教程 ...

  5. 学习笔记:Java 并发编程①_基础知识入门

    若文章内容或图片失效,请留言反馈. 部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 视频链接:https://www.bilibili.com/video/av81461839 视频下载: ...

  6. 动漫人物透视教程,透视画法入门教程

    动漫人物透视教程,透视画法入门教程!今天分享的是有关动漫人物透视教程的资源,包含动漫人物透视教程教程.动漫人物透视教程图片素材两个部分,学习动漫人物透视教程的时候,一定要多练,下面开始咱们的动漫人物透 ...

  7. java编程输出平行四边形_JAVA语言入门教程之打印图形实例——打印平行四边形...

    本文主要向大家介绍了JAVA语言入门教程之打印图形实例--打印平行四边形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 输出平行四边形: public class Parallelo ...

  8. python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析

    Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...

  9. java语言打印图形_JAVA语言入门教程之打印图形实例——打印矩形

    本文主要向大家介绍了JAVA语言入门教程之打印图形实例--打印矩形,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 输出矩形: public class Rect { public s ...

最新文章

  1. tensorflow 线性回归
  2. P1712-[NOI2016]区间【线段树,尺取法】
  3. 【[USACO09DEC]牛收费路径Cow Toll Paths】
  4. python中texttable库显示实时数据_python显示数据库数据
  5. 在Spring Boot中使用Spring Security实现权限控制
  6. VO与Map之间的相互转换
  7. visio教程仓库流程图_完整的VISIO教程(绝对干货)
  8. Fumark支持SLI双卡测试设置
  9. OpenCL编程初探
  10. Gmail是怎么判断垃圾邮件
  11. codeforces 250B Restoring IPv6
  12. 阶乘分之一求和公式C语言,n的阶乘分之一之和
  13. Linux云计算之VSFTP服务器概述-安装vsftp服务器端、客户端
  14. Android 调用系统中的相机应用及静默拍照
  15. 第一个算出地球周长的人
  16. 拥有多重人格的他,可能是个裂脑人
  17. WEB消息推送—GoEasy
  18. 伍伦贡大学计算机排名,伍伦贡大学世界排名
  19. vue滚动条禁止_js禁止和开启滚动条事件
  20. 基于模板匹配方法的机场飞机起飞-目标检测

热门文章

  1. 了解有关JDK9紧凑弦乐的信息(视频回顾Charlie Hunt)
  2. Java中的堆栈安全递归
  3. 在Spring使用AWS SQS创建消息驱动Bean
  4. Netty:另一种Web(套接字)服务器
  5. 使用ANTLR4,用于代码镜像和基于Web的DSL的Primefaces扩展
  6. 如何:在Maven项目(JUnit,Mockito,Hamcrest,AssertJ)中测试依赖项
  7. 镜像镜像–使用反射在运行时查看JVM内部
  8. 使用Spring Form标签探索Spring Controller
  9. 如何用Veripacks替换构建模块
  10. Java –手工Classloader隔离