当前位置: 首页 > news >正文

MyBatis入门的第一个程序

2023.10.28

        今天正式开始MyBatis的学习,先来一个入门程序的编写。

①准备一个数据库表:

②配置pom.xml文件:(打包方式和2个依赖的引入)

<?xml version="1.0" encoding="UTF-8"?>
<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>jay</groupId><artifactId>mybatis-001</artifactId><version>1.0-SNAPSHOT</version>
<!--    打包方式--><packaging>jar</packaging><dependencies>
<!--        mybatis依赖--><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.13</version></dependency>
<!--        mysql驱动依赖--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.30</version></dependency></dependencies><properties><maven.compiler.source>21</maven.compiler.source><maven.compiler.target>21</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties></project>

③配置mybatis-config.xml文件

ps:mybatis核心配置文件存放的位置可以随意。这里选择放在resources根下,相当于放到了类的根路径下。

④新建CarMapper.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="abc">
<!--    insert语句--><insert id="insertCar">insert into t_car(id,car_num,brand,guide_price,produce_time,car_type)values (null,'1004','劳斯莱斯',100,'2011-10-11','燃油车')</insert></mapper>

ps:该文件是用来编写sql语句的。

ps:CarMapper.xml文件的位置也是随意的。这里选择放在resources根下,相当于放到了类的根路径下。

⑤编写mybatis_test.java核心代码

package mybatis;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 java.io.IOException;
import java.io.InputStream;public class mybatis_test {public static void main(String[] args) throws Exception {//获取SqlSessionFactoryBuilder对象SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();//获取SqlSessionFactory对象InputStream is = Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);//获取SqlSession对象SqlSession sqlSession = sqlSessionFactory.openSession();//执行SQL语句int count = sqlSession.insert("insertCar");System.out.println("插入了几条记录:" + count);//需要手动提交sqlSession.commit();}
}

ps:默认采用的事务管理器是:JDBC。JDBC事务默认是不提交的,需要手动提交。所以最后一行要加一行手动提交事务的代码,否则数据库不会更新数据。

这里也可以将mybatis-config.xml文件中的JDBC改为MANAGED,意思就是不让Mybatis自动管理事务了,交给其他容器负责,如:spring。 此时修改成MANAGED之后不做任何操作的话,事务就没人管了,会自动提交,不需要最后那一行手动提交的代码了。

pps:也可以在  SqlSession sqlSession = sqlSessionFactory.openSession();这行代码中加个参数:true。 表示自动提交,这样也不需要手动提交了。但是不建议这么做。

        最后执行mybatis_test.java文件,控制台会显示:

在Navicat中按F5刷新页面,会显示更新的数据库:

http://www.lryc.cn/news/209616.html

相关文章:

  • React项目中使用zustand状态管理详细教程
  • Linux 扩展 root 文件系统
  • 19c-rac环境安装AHF
  • ESP32网络开发实例-Web控制按钮与硬件状态同步
  • 分享一下怎么做陪诊小程序
  • 【Linux】Linux+Nginx部署项目
  • 【git命令】删除分支
  • LabVIEW开发TDS1000 和TDS2000 系列泰克示波器
  • 1. 两数之和、Leetcode的Python实现
  • TSINGSEE青犀基于AI视频识别技术的平安校园安防视频监控方案
  • 基于LSTM encoder-decoder模型实现英文转中文的翻译机器
  • 世界前沿技术发展报告2023《世界航空技术发展报告》(四)无人机技术
  • 【JAVA学习笔记】48 - 八大常用Wrapper类(包装类)
  • 学习笔记:Splay
  • JAVA中的垃圾回收器(1)
  • Windows 10/11如何恢复永久删除的文件?
  • 【Shell 系列教程】shell介绍(一)
  • 考研数学中放缩法和无穷项求和
  • 计算机网络常识
  • React之Jsx如何转换成真实DOM
  • OpenCV学习(六)——图像算术运算(加法、融合与按位运算)
  • 如何做好一次代码审查,什么样是一次优秀的代码审查,静态代码分析工具有哪些
  • 【Android】一个contentResolver引起的内存泄漏问题分析
  • 2023年正版win10/win11系统安装教学(纯净版)
  • 系统架构设计师-第11章-未来信息综合技术-软考学习笔记
  • Python __new__()方法详解
  • 虹科 | 解决方案 | 汽车示波器 索赔管理方案
  • 详解Jmeter中的BeanShell脚本
  • 前端和后端 优化
  • C++编译与运行:其二、编译期和运行期的区别