• MyBatis入门的第一个程序


    2023.10.28

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

    ①准备一个数据库表:

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

    1. "1.0" encoding="UTF-8"?>
    2. "http://maven.apache.org/POM/4.0.0"
    3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    5. 4.0.0
    6. jay
    7. mybatis-001
    8. 1.0-SNAPSHOT
    9. jar
    10. org.mybatis
    11. mybatis
    12. 3.5.13
    13. mysql
    14. mysql-connector-java
    15. 8.0.30
    16. 21
    17. 21
    18. UTF-8

    ③配置mybatis-config.xml文件

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

    ④新建CarMapper.xml配置文件

    1. "1.0" encoding="UTF-8" ?>
    2. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
    3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    4. "abc">
    5. "insertCar">
    6. insert into t_car(id,car_num,brand,guide_price,produce_time,car_type)
    7. values (null,'1004','劳斯莱斯',100,'2011-10-11','燃油车')

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

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

    ⑤编写mybatis_test.java核心代码

    1. package mybatis;
    2. import org.apache.ibatis.io.Resources;
    3. import org.apache.ibatis.session.SqlSession;
    4. import org.apache.ibatis.session.SqlSessionFactory;
    5. import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    6. import java.io.IOException;
    7. import java.io.InputStream;
    8. public class mybatis_test {
    9. public static void main(String[] args) throws Exception {
    10. //获取SqlSessionFactoryBuilder对象
    11. SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
    12. //获取SqlSessionFactory对象
    13. InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
    14. SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
    15. //获取SqlSession对象
    16. SqlSession sqlSession = sqlSessionFactory.openSession();
    17. //执行SQL语句
    18. int count = sqlSession.insert("insertCar");
    19. System.out.println("插入了几条记录:" + count);
    20. //需要手动提交
    21. sqlSession.commit();
    22. }
    23. }

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

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

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

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

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

  • 相关阅读:
    面试:Sqlite的线程、进程安全性
    react老项目 升级react-router
    day42 6-5 springMVC调度器、ModelAndView、配置thymeleaf模板引擎 & 6-6 thymeleaf语法 & 6-7 springMVC拦截器 & 6-8 设置请求编码过滤器Filter
    稻盛和夫-如是说(读书笔记)
    聊天尬死名场面,你遇到过吗?教你一键获取斗图表情包,晋升聊天达人
    golang学习笔记——日志记录
    【Git】推送Github失败:remote: Permission to xxx/*.git denied to xxx
    Open3D 点云法向量重定向(基于相机位置)
    Docker安装canal、mysql进行简单测试与实现redis和mysql缓存一致性
    Java如何连接数据库
  • 原文地址:https://blog.csdn.net/m0_61028090/article/details/134096443