mybatis入门(一)-mybatis介绍和获取SqlSession

2024-05-10 19:08

本文主要是介绍mybatis入门(一)-mybatis介绍和获取SqlSession,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       首先什么是MyBatis呢?要找到这个问题的答案,当然最准确的说法肯定在开发出它的人那,谁是开发它的人呢。然后...

       我们就要用到学软件必不可少的神器了 https://github.com/ , 如果不知道github的话,赶快去百度谷歌搜索,知道了之后就注册一个github账户,并学会GitHub的使用,由于这篇文章重点不再这里,所以不会专门讲这些操作。

       我们在GitHub上搜索MyBatis,并进入仓库在ReadMe.md里面,可以找到我们想要的答案。

       虽然笔者的英文水平一般,但还是可以翻译个大概意思出来的-MyBatisSQL映射框架,它使得我们更容易的在应用中使用关系型数据库。MyBatis使用XML描述符或注解的方式联系对象和存储过程或者SQL语句。简单是MyBatis在对象关系映射工具中的最大优势。

            简单,容易这应该是最吸引我们的地方了。

       然后,我们在README最下面点击Dowmload Latest(最近的一个版本),这里下的是3.1.1的。

       接下来,我们来通过一个示例来获取SqlSession。

 第一步:通过myeclipse创建一个Web或者是java项目,项目目录结构如下

       


 第二步:新建一个Configuration.xml的总配置文件

       配置文件内容以及解释如下

       

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><environments default="mysql_development"><!-- 连接环境信息 --><environment id="mysql_development"><!-- mysql使用什么事物管理方式 --><transactionManager type="JDBC"><property name="" value=""/></transactionManager><!-- mybatis使用连接池方式来获取连接对象 --><dataSource type="POOLED"><!-- 配置数据库连接信息 --><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://127.0.0.1:3306/mybatis"/><property name="username" value="root"/><property name="password" value="root"/></dataSource></environment></environments></configuration>
第三步:写MyBatisUtil.java,维护数据库连接的工具类。

package com.cxspace.db;import java.io.IOException;
import java.io.Reader;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;public class MyBatisUtil {private static ThreadLocal<SqlSession> threadLocal = new ThreadLocal<SqlSession>();private static SqlSessionFactory sqlSessionFactory;//加载Configuration.xml配置文件static{try {Reader reader = Resources.getResourceAsReader("com/cxspace/config/Configuration.xml");sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);} catch (IOException e) {e.printStackTrace();}}/** 禁止外部new来调用*/private MyBatisUtil(){}/** 获取SqlSession*/public static SqlSession getSqlSession(){//从当前线程中获取SqlSession对象SqlSession sqlSession = threadLocal.get();//如果SqlSession为空if (sqlSession == null) {//在SqlSessionFactory非空的情况下,获取SqlSession对象sqlSession = sqlSessionFactory.openSession();//将SqlSession对象与当前线程绑定在一起threadLocal.set(sqlSession);}//返回SqlSession对象return sqlSession;}/** 关闭SqlSession与当前线程分开*/public static void closeSqlSession(){//从当前线程中获取SqlSession对象SqlSession sqlSession = threadLocal.get();//如果SqlSession对象非空if (sqlSession != null) {//关闭sqlSession.close();//放开当前线程与SqlSession对象的关系,让GC尽快回收threadLocal.remove();}}}

获取测试

           

	public static void main(String[] args) {MyBatisUtil.getSqlSession().getConnection();System.out.println("获取连接成功");}

       

     

      

这篇关于mybatis入门(一)-mybatis介绍和获取SqlSession的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977299

相关文章

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

MyBatis-Plus 自动赋值实体字段最佳实践指南

《MyBatis-Plus自动赋值实体字段最佳实践指南》MyBatis-Plus通过@TableField注解与填充策略,实现时间戳、用户信息、逻辑删除等字段的自动填充,减少手动赋值,提升开发效率与... 目录1. MyBATis-Plus 自动赋值概述1.1 适用场景1.2 自动填充的原理1.3 填充策略

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

mybatis中resultMap的association及collectio的使用详解

《mybatis中resultMap的association及collectio的使用详解》MyBatis的resultMap定义数据库结果到Java对象的映射规则,包含id、type等属性,子元素需... 目录1.reusltmap的说明2.association的使用3.collection的使用4.总

mybatis-plus QueryWrapper中or,and的使用及说明

《mybatis-plusQueryWrapper中or,and的使用及说明》使用MyBatisPlusQueryWrapper时,因同时添加角色权限固定条件和多字段模糊查询导致数据异常展示,排查发... 目录QueryWrapper中or,and使用列表中还要同时模糊查询多个字段经过排查这就导致只要whe

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三