• 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刷新页面,会显示更新的数据库:

  • 相关阅读:
    阿里云服务器一直提示安全事件如何解决
    git学习笔记——git pull篇
    Cas 80750-24-9,去硫代生物素 N-羟基琥珀酰亚胺,淡黄色固体
    用Java方法来打印从1到N的阶乘的和
    【华为OD机试python】告警抑制【2023 B卷|100分】
    [DeepLearning] 线性回归的实现Pytorch
    3. 微服务之nacos服务注册发现
    【毕业设计】深度学习卫星遥感图像检测与识别 -opencv python 目标检测
    报错IDEA Terminated with exit code 1
    【用MyEclipse2017创建一个Hibernate Web登录项目】
  • 原文地址:https://blog.csdn.net/m0_61028090/article/details/134096443