Mybatis应用(一)应用步骤
一、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应用(一)应用步骤相关推荐
- mybatis执行的核心步骤
本文来说下mybatis执行的核心步骤 文章目录 概述 概述 mybatis执行的核心步骤 读取 mybatis 的 mybatis-config.xml 配置文件 加载映射文件 构建 SQLSess ...
- Mybatis框架的操作步骤和细节处理
mybatis.xml的写法: 与spring整合后,数据库连接池,配置别名,mapper文件扫描等都可以直接配置在spring的配置文件中 <?xml version="1.0&qu ...
- Mybatis理解与入门步骤
一.Mybatis的层次结构位置 二.Mybatis,实体类,接口,映射文件的关系 三.开发入门步骤 准备数据库,创建表结构,添加一些数据 创建工程,引入相关依赖 编写实体类,和表结构对应,用于数据封 ...
- Spring Boot入门系列(六)Spring Boot如何整合Mybatis【附详细步骤】
前面介绍了Spring Boot 中的整合Thymeleaf前端html框架,同时也介绍了Thymeleaf 的用法.不清楚的朋友可以看看之前的文章:https://www.cnblogs.com/z ...
- SSM(spring.struts2.mybatis)注解式开发步骤
SSM注解式开发步骤 1.引入依赖 spring.mybatis.struts2.mybatis-spring.struts2-spring-plugin.mysql|oracle.fastjson. ...
- Mybatis框架创建逆向工程步骤
正向工程:先创建Java实体类,由框架负责根据实体类生成数据库表.Hibernate是支持正向工程的 逆向工程:先创建数据库表,由框架负责根据数据库表,反向生成如下资源 注意:数据库中不能有同名的表 ...
- MyBatis官网下载步骤
①.百度mybatis ,进入官网 ②.进入官网是酱紫,选择自己需要下载的,我一般会选择最新版,点击Released的 ③.点击进入之后,拉到最下边,会看到下载地址和文档地址 ④.接着进入.看到下边的 ...
- springBoot整合mybatis步骤
前言 首先是需要在idea中整合mybatis,主要是步骤细节: 具体步骤 首先是需要关键的依赖: <dependency><groupId>org.mybatis.sprin ...
- java学mybatis还用学jdbc吗,mybatis系统学习(二)——使用基础mybatis代替原始jdbc
mybatis系统学习(二)--使用基础mybatis代替原始jdbc 前言 这一篇笔记的内容应当是建立在上一篇的基础之上,不论是使用的数据表,还是对应的实体类,都在上一篇有过说明. 有兴趣的或者对相 ...
- Intellij IDEA中使用MyBatis-generator 自动生成MyBatis代码
2019独角兽企业重金招聘Python工程师标准>>> Intellij IDEA中使用MyBatis-generator 自动生成MyBatis代码 MyBatis Generat ...
最新文章
- 蒙特卡洛法—非均匀随机数的产生
- android中11种常见传感器的使用方法
- ajax: jquery get request
- Revit二次开发示例:HelloRevit
- scheme http https 区别 tls_HTTPS、HTTP、TLS/SSL工作及握手原理、PKI/CA密钥体系
- java应用servlt_关于Java:将Servlet用于非Servlet应用程序
- css如何让背景透明,文字不透明
- wirkshark过滤规则
- php 采集程序 宋正河
- CentOS 7安装Gnome GUI 图形界面
- Android 通知栏用法例子
- Raki的读paper小记:NATURAL LANGUAGE INFERENCE OVER INTERACTION SPACE
- YDOOK:VSC VisioStudio Code 设置 鼠标滚轮缩放字体大小 滚轮控制字体放大缩小
- DPDK Release 21.08
- 定时器加状态转移图方式实现DS18B20
- urule决策引擎实现增量打包部署
- Jitsi Meet的prosody模块报错Client disconnected: ssl handshake failed
- 拥抱趋势,蓄能跃迁——2018慧点科技企业协同及治理创新论坛圆满举行
- python给全局变量赋值_Python 进程之间共享数据(全局变量)的方法 python 全局变量赋值的问题...
- 仓储室内定位系统—企业物流的“数字化”转型
热门文章
- UE4笔记-进程/线程/网络/IO模块的相关问题记录
- autocad.net中判断当前被激活的空间
- [试卷]古诗文背诵(七年级上学期)
- markdown mysql高亮_修改博客园markdown编辑器代码高亮风格的方法
- 最好的船_“船”说中的美丽陶瓷
- Java黑皮书课后题第3章:*3.13(金融应用:计算税款)程序清单3-5给出了计算单身登记人税款的源代码。将程序清单3-5补充完整,从而计算所有登记的婚姻状态的税款
- 联想小新电脑dns服务器未响应,Lenovo Quick Fix 联想智能解决工具
- Python 考试练习
- 牛客网测试题--小a和黄金街道
- MySQL 查询表中某字段值重复的数据