整合mybatis-示例
引入依赖
- <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.example</groupId>
- <artifactId>ssm-mybatis</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
- <name>ssm-mybatis</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>5.2.6.RELEASE</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.13.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mybatis</groupId>
- <artifactId>mybatis</artifactId>
- <version>3.5.7</version>
- </dependency>
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>8.0.16</version>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <version>RELEASE</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
- </project>
jdbc.properties
- jdbc.driverClassName=com.mysql.cj.jdbc.Driver
- jdbc.url=jdbc:mysql://localhost:3306/yeb?serverTimezone=Asia/Shanghai
- jdbc.username=root
- jdbc.password=root
mybatis核心配置文件: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>
- <!--引入properties文件,此后就可以在当前文件中使用${key}的方式访问value-->
- <properties resource="jdbc.properties"></properties>
- <!--
- typeAliases:设置类型别名,即为某个具体的类型设置一个别名,
- 在mybatis的范围中,就可以使用别名表示一个具体的类型。
- -->
- <typeAliases>
- <!--不使用alias属性设置别名,默认为类名,不区分大小写。User或user-->
- <!-- <typeAlias type="org.example.entity.User" alias="user"></typeAlias>-->
- <!--通过包设置类型别名,指定包下所有的类型将全部拥有默认的别名,即类名,不区分大小写-->
- <package name="org.example.entity"/>
- </typeAliases>
- <!-- environments数据库环境配置 -->
- <!-- 和Spring整合后environments配置将被废除 -->
- <environments default="development">
- <environment id="development">
- <!-- 使用JDBC事务管理 -->
- <transactionManager type="JDBC"/>
- <!-- 数据库连接池 -->
- <dataSource type="POOLED">
- <property name="driver" value="${jdbc.driverClassName}"/>
- <property name="url" value="${jdbc.url}"/>
- <property name="username" value="${jdbc.username}"/>
- <property name="password" value="${jdbc.password}"/>
- </dataSource>
- </environment>
- </environments>
- <!-- 加载映射文件 -->
- <mappers>
- <!--<mapper resource="mappers/UserMapper.xml"></mapper>-->
- <!--
- 以包的方式引入映射文件,但是必须满足下面2个条件:
- 1.mapper接口和映射文件所在的包必须一致
- 2.mapper接口的名字和映射文件的名字一致
- -->
- <package name="org.example.mapper"/>
- </mappers>
- </configuration>
创建mapper映射文件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="org.example.mapper.UserMapper">
- <insert id="addUser">
- insert into t_user values (null,'tom',20,'男','123123@qq.com');
- </insert>
- </mapper>
测试代码
- package org.example;
- import org.apache.ibatis.io.Resources;
- import org.apache.ibatis.session.SqlSession;
- import org.apache.ibatis.session.SqlSessionFactory;
- import org.apache.ibatis.session.SqlSessionFactoryBuilder;
- import org.example.mapper.UserMapper;
- import org.junit.jupiter.api.Test;
- import java.io.IOException;
- import java.io.InputStream;
- public class TestCase {
- @Test
- public void testAddUser() throws IOException {
- //获取核心配置文件的输入流
- InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
- //获取SqlSessionFactoryBuilder对象
- SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
- //获取SqlSessionFactory对象
- SqlSessionFactory build = sqlSessionFactoryBuilder.build(is);
- //获取sql的会话对象sqlSession,是mybatis提供的操作数据库的对象
- SqlSession sqlSession = build.openSession(true);//设为true表示自动提交事务
- //获取UserMapper的代理实现类对象
- UserMapper mapper = sqlSession.getMapper(UserMapper.class);
- mapper.addUser();
- sqlSession.close();
- }
- }
执行成功
整合mybatis-示例的更多相关文章
- Spring学习总结(六)——Spring整合MyBatis完整示例
为了梳理前面学习的内容<Spring整合MyBatis(Maven+MySQL)一>与<Spring整合MyBatis(Maven+MySQL)二>,做一个完整的示例完成一个简 ...
- springmvc 项目完整示例04 整合mybatis mybatis所需要的jar包 mybatis配置文件 sql语句 mybatis应用
百度百科: MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBat ...
- eclipse 创建maven 项目 动态web工程完整示例 maven 整合springmvc整合mybatis
接上一篇: eclipse 创建maven 项目 动态web工程完整示例 eclipse maven工程自动添加依赖设置 maven工程可以在线搜索依赖的jar包,还是非常方便的 但是有的时候可能还需 ...
- Spring学习总结(五)——Spring整合MyBatis(Maven+MySQL)二
接着上一篇博客<Spring整合MyBatis(Maven+MySQL)一>继续. Spring的开放性和扩张性在J2EE应用领域得到了充分的证明,与其他优秀框架无缝的集成是Spring最 ...
- 展开被 SpringBoot 玩的日子 《 六 》 整合 Mybatis
上次整合了JPA ,但是很多人觉得JPA 并不是那么好用,这都是习惯问题,我本人也比较习惯Mybatis ,所以,今天就整合一下Mybatis,到网上找了一下关于spring boot和mybatis ...
- Spring MVC整合Mybatis 入门
本文记录使用Intellij创建Maven Web工程搭建Spring MVC + Mybatis 的一个非常简单的示例.关于Mybatis的入门使用可参考这篇文章,本文在该文的基础上,引入了Spri ...
- MyBatis - 6.Spring整合MyBatis
1.查看不同MyBatis版本整合Spring时使用的适配包: http://www.mybatis.org/spring/ 2.下载整合适配包 https://github.com/mybatis/ ...
- java框架之SpringBoot(9)-数据访问及整合MyBatis
简介 对于数据访问层,无论是 SQL 还是 NOSQL,SpringBoot 默认采用整合 SpringData 的方式进行统一处理,添加了大量的自动配置,引入了各种 Template.Reposit ...
- Spring整合MyBatis(三)sqlSessionFactory创建
摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 目录 一.SqlSessionFactoryBean的初始化 二.获取 ...
- Spring整合MyBatis(二)Spring整合MyBatis
摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 了解了MyBatis的独立使用过程后,我们再看看它与Spring整合的 ...
随机推荐
- 了解ASP(二)
变量 ASP中的变量有普通变量,Session变量,Application变量. 变量的生存期 在子程序外声明的变量可被 ASP 文件中的任何脚本访问和修改. 在子程序中声明的变量只有当子程序每次执行 ...
- React Navite环境搭建
俗话说"工欲善其事,必先利其器."所以,我们第一步就是搭建React Native开发坏境. 一.安装Node.js.npm.yarn 1.1 React native需要借助no ...
- iOS 制作一个动态库
方式一 1.新建一个framework 命名为test 2.将build archive architecture only 改成 NO 3.将Mach-O Type 改成 static Lib ...
- k8s 删除 node节点
查看现有状态 [root@master ~]# kubectl get nodes NAME STATUS ROLES AGE VERSION master NotReady control-plan ...
- 解决gpg: 从公钥服务器接收失败:服务器故障
xxx@xxx-virtual-machine:~/workspace/rv1126_rv1109_sdk$ sudo apt-key adv --keyserver hkp://keyserver. ...
- 最新2019Java调用百度智能云人脸识别流程
首先先注册账户 https://console.bce.baidu.com/?fromai=1#/aip/overview 点击链接 有账户直接登录 如无 则注册 进入控制台后 点击人脸识别 随便选 ...
- win10 + emacs + sml
1.官网下载sml编译器是smi安装包,安装结束之后把bin文件夹放到环境变量Path中 2.下载emacs压缩包,直接解压 3.emacs中alt+x,输入package-list 然后选择sml- ...
- (1127)arm 架构, c++模板
(1)ARM M0 (2)c++形参
- 第十三天笔记Cookie
第十三天笔记Cookie 计算机重要的四个内容 数据结构 数据存储的结构及逻辑的体现,以及相关数据结构之间的操作(算法) 操作系统 windows(dos命令).linux(指令操作) 计网 网络通信 ...
- springcloud(二) - 服务调用Feign&openFeign
功能介绍:动态代理的方式,简化请求其他服务的开发成本,更好得对请求地址组装.接受返回信息.返回参数解析等 Feign和OpenFeign区别: OpenFeign实现了Feign的基础功能,同时支持 ...