一、mybatis概述:

0、MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,由谷歌托管,并且改名为MyBatis 。2013年11月迁移到Github。
       1、iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQL Maps和Data Access Objects(DAO)

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

3、MyBatis作为持久层框架,其主要思想是将程序中的大量sql语句剥离出来,配置在配置文件中,实现sql的灵活配置。这样做的好处是将sql与程序代码分离,可以在不修改程序代码的情况下,直接在配置文件中修改sql。

二、应用步骤:

1、添加jar包

【mybatis】

mybatis-3.1.1.jar  下载地址:点击打开链接

【Mysql驱动包】

mysql-connector-java-5.1.7-bin.jar  下载地址:点击打开链接

(相关资源我已上传,如有需要自行下载)

2、建库、建表

 create database mybatis;use mybatis;CREATE TABLE users(id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20), age INT);
    INSERT INTO users(NAME, age) VALUES('Tom', 12);
    INSERT INTO users(NAME, age) VALUES('Jack', 11);

3、工程目录

4、添加mybatis配置文件config.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><environments default="development"><environment id="development"><transactionManager type="JDBC" /><dataSource type="POOLED"><property name="driver"                        value="com.mysql.jdbc.Driver" /><property name="url" value="jdbc:mysql://localhost:3306/mybatis" /><property name="username" value="root" /><property name="password" value="root" /></dataSource></environment></environments>
</configuration>

5、定义表对应的实体类

public class User {private int id;private String name;private int age;//get,set方法
}

6、定义操作users表的sql映射文件userMapper.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="com.rjxy.mybatis_test.test1.userMapper"> <select id="getUser" parameterType="int" resultType="com.rjxy.mybatis_test.test1.User">select * from users where id=#{id}</select>
</mapper>

7、在conf.xml文件中注册userMapper.xml文件

<mappers><mapper resource="com/rjxy/mybatis_test/test1/userMapper.xml"/>
</mappers>

8、编写测试代码,执行定义好的select语句

public class Test {public static void main(String[] args) throws IOException {String resource = "conf.xml"; //加载mybatis的配置文件(它也加载关联的映射文件)Reader reader = Resources.getResourceAsReader(resource); //构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(reader);//创建能执行映射文件中sql的sqlSessionSqlSession session = sessionFactory.openSession();//映射sql的标识字符串String statement = "com.rjxy.mybatis.bean.userMapper"+".selectUser";//执行查询返回一个唯一user对象的sqlUser user = session.selectOne(statement, 1);System.out.println(user);}
}

9、操作User表的CRUD(增查改删),在UserMapper中添加

<insert id="insertUser" parameterType="com.rjxy.ibatis.bean.User">insert into users(name, age) values(#{name}, #{age});
</insert><delete id="deleteUser" parameterType="int">delete from users where id=#{id}
</delete><update id="updateUser" parameterType="com.rjxy.ibatis.bean.User">update users set name=#{name},age=#{age} where id=#{id}
</update><select id="selectUser" parameterType="int" resultType="com.rjxy.ibatis.bean.User">select * from users where id=#{id}
</select><select id="selectAllUsers" resultType="com.rjxy.ibatis.bean.User">select * from users
</select>

----- 注意-----------注意-----------注意-----------注意-----------注意-----------注意-----------注意-----------注意-----------注意-----------注意-----------注意------

注意:当执行CRUD操作时,insert、delete、update都执行正常,但是,select查不到数据,原因是实体类中没有提供无参构造函数。没有提供任何构造函数时,系统会提供一个默认的无参构造函数,但是,当提供了有参构造函数时,系统就不会提供,需要显式的定义。

10、运行发现数据库只能查询数据,但是增删改测试时没有报错,数据库却没有变化,原因是默认是手动添加的,需要修改。

session.commit();//将操作提交

或者

SqlSession session = sqlSessionFactory。openSession(true);//将默认改为自动提交

11、session用完之后应该关闭

session.close();

Mybatis应用(一)应用步骤相关推荐

  1. mybatis执行的核心步骤

    本文来说下mybatis执行的核心步骤 文章目录 概述 概述 mybatis执行的核心步骤 读取 mybatis 的 mybatis-config.xml 配置文件 加载映射文件 构建 SQLSess ...

  2. Mybatis框架的操作步骤和细节处理

    mybatis.xml的写法: 与spring整合后,数据库连接池,配置别名,mapper文件扫描等都可以直接配置在spring的配置文件中 <?xml version="1.0&qu ...

  3. Mybatis理解与入门步骤

    一.Mybatis的层次结构位置 二.Mybatis,实体类,接口,映射文件的关系 三.开发入门步骤 准备数据库,创建表结构,添加一些数据 创建工程,引入相关依赖 编写实体类,和表结构对应,用于数据封 ...

  4. Spring Boot入门系列(六)Spring Boot如何整合Mybatis【附详细步骤】

    前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/z ...

  5. SSM(spring.struts2.mybatis)注解式开发步骤

    SSM注解式开发步骤 1.引入依赖 spring.mybatis.struts2.mybatis-spring.struts2-spring-plugin.mysql|oracle.fastjson. ...

  6. Mybatis框架创建逆向工程步骤

    正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表.Hibernate是支持正向工程的 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源 注意:数据库中不能有同名的表 ...

  7. MyBatis官网下载步骤

    ①.百度mybatis ,进入官网 ②.进入官网是酱紫,选择自己需要下载的,我一般会选择最新版,点击Released的 ③.点击进入之后,拉到最下边,会看到下载地址和文档地址 ④.接着进入.看到下边的 ...

  8. springBoot整合mybatis步骤

    前言 首先是需要在idea中整合mybatis,主要是步骤细节: 具体步骤 首先是需要关键的依赖: <dependency><groupId>org.mybatis.sprin ...

  9. java学mybatis还用学jdbc吗,mybatis系统学习(二)——使用基础mybatis代替原始jdbc

    mybatis系统学习(二)--使用基础mybatis代替原始jdbc 前言 这一篇笔记的内容应当是建立在上一篇的基础之上,不论是使用的数据表,还是对应的实体类,都在上一篇有过说明. 有兴趣的或者对相 ...

  10. Intellij IDEA中使用MyBatis-generator 自动生成MyBatis代码

    2019独角兽企业重金招聘Python工程师标准>>> Intellij IDEA中使用MyBatis-generator 自动生成MyBatis代码 MyBatis Generat ...

最新文章

  1. 蒙特卡洛法—非均匀随机数的产生
  2. android中11种常见传感器的使用方法
  3. ajax: jquery get request
  4. Revit二次开发示例:HelloRevit
  5. scheme http https 区别 tls_HTTPS、HTTP、TLS/SSL工作及握手原理、PKI/CA密钥体系
  6. java应用servlt_关于Java:将Servlet用于非Servlet应用程序
  7. css如何让背景透明,文字不透明
  8. wirkshark过滤规则
  9. php 采集程序 宋正河
  10. CentOS 7安装Gnome GUI 图形界面
  11. Android 通知栏用法例子
  12. Raki的读paper小记:NATURAL LANGUAGE INFERENCE OVER INTERACTION SPACE
  13. YDOOK:VSC VisioStudio Code 设置 鼠标滚轮缩放字体大小 滚轮控制字体放大缩小
  14. DPDK Release 21.08
  15. 定时器加状态转移图方式实现DS18B20
  16. urule决策引擎实现增量打包部署
  17. Jitsi Meet的prosody模块报错Client disconnected: ssl handshake failed
  18. 拥抱趋势,蓄能跃迁——2018慧点科技企业协同及治理创新论坛圆满举行
  19. python给全局变量赋值_Python 进程之间共享数据(全局变量)的方法 python 全局变量赋值的问题...
  20. 仓储室内定位系统—企业物流的“数字化”转型

热门文章

  1. UE4笔记-进程/线程/网络/IO模块的相关问题记录
  2. autocad.net中判断当前被激活的空间
  3. [试卷]古诗文背诵(七年级上学期)
  4. markdown mysql高亮_修改博客园markdown编辑器代码高亮风格的方法
  5. 最好的船_“船”说中的美丽陶瓷
  6. Java黑皮书课后题第3章:*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码。将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款
  7. 联想小新电脑dns服务器未响应,Lenovo Quick Fix 联想智能解决工具
  8. Python 考试练习
  9. 牛客网测试题--小a和黄金街道
  10. MySQL 查询表中某字段值重复的数据